Configuración del perfil de búsqueda personalizado
ZooKeeper almacena los perfiles con nombre en uno de sus nodos. Puede crear, actualizar, eliminar y obtener perfiles utilizando el punto final de los perfiles del servicio de consulta. Para más información sobre los perfiles HCL Commerce Search, consulte Perfiles de búsqueda.
Especificación de documento de punto final y perfil
https://data_environment_hostname:30921/search/resources/api/v2/documents/profiles/profileName
Para obtener la especificación de la API de REST completa, consulte la API REST de consulta.{ "indexName": "string", "parentProfileName": "string", "profileName": "string", "query": { "highlight": { "fields": [ "name", "fieldName" ], "simplePre": "<strong><span class=font2>", "simplePost": "</span></strong>" }, "params": [ { "paramName": "value" } ], "postprocessor": [ "postprocessorClass" ], "preprocessor": [ "preprocessorClass" ], "provider": [ "providerClass" ], "queryFields": [ "field1", "filed2" ], "responseFields": [ "field1", "filed2" ], "sortFields": { "key": "value" }, "spellcheck": { "limit": "5" }, "group" : { "enable" : "false", "sort" : "score desc", "field" : "relationship.product.group" }, "hero" : { "overrideFieldName" : "url.thumbnail", "showGroupPriceRange" : "false", "field" : { "7741124012283334335" : "Hero" } } } }
Para obtener una descripción de los nombres y valores de los campos, y los preprocesadores y posprocesadores disponibles, consulte Propiedades de perfiles de búsqueda.
Perfiles de búsqueda
HCL_findCatalogEntryById
. El perfil de búsqueda se define de la siguiente manera: { "parentProfileName" : "", "profileName" : "HCL_findProductsBySearchTerm", "lookupProfileName" : "HCL_findCatalogEntryById", "indexName" : "product", "query" : {
Internamente, el procesador SearchRelevancyByProductGroupingPostprocessor utiliza el perfil de búsqueda para recuperar los detalles del producto. De manera similar, si las imágenes de un producto Hero están habilitadas para la exploración de categorías, el perfil HCL_findProductsByCategory tiene la propiedad de perfil de búsqueda con el valor HCL_findCatalogEntryByIdForBrowse
. Internamente, el procesador SearchBrowseRelevancyByProductGroupingPostprocessor utiliza el perfil de búsqueda para recuperar los detalles del producto.{ "parentProfileName" : "", "profileName" : "HCL_findProductsByCategory", "lookupProfileName" : "HCL_findCatalogEntryByIdForBrowse", "indexName" : "product", "query" : {
Los perfiles de búsqueda se pueden definir en el perfil de búsqueda utilizando la propiedad lookupProfileNames, con un par clave-valor. Los perfiles de búsqueda se utilizan para obtener los detalles de la asociación de comercialización de sku/variant sku/component del producto para el producto. Por ejemplo, supongamos que llama a la API productview/byIds con el perfil HCL_findProductByIds_Details. Este perfil tiene postprocesadores definidos para recuperar el SKU, el componente y los detalles de la asociación de comercialización. Estos posprocesadores utilizan un perfil para recuperar los detalles correspondientes.
{ "profileName" : "HCL_findProductByIds_Details", "indexName" : "product", "lookupProfileNames" : { "productSKU" : "HCL_findCatalogEntrySKUs", "variantSKU" : "HCL_findCatalogEntrySKUsByVariantIds", "component" : "HCL_findCatalogEntryComponents", "merchandisingAssoc" : "HCL_findCatalogEntryAssociatedMerchandising" }, "query" : {
- SearchCatalogEntryViewSKUQueryPostprocessor
- Este postprocesador utiliza el siguiente perfil de transferencia para recuperar los detalles de SKU del producto y de la variante:
HCL_findCatalogEntrySKUs HCL_findCatalogEntrySKUsByVariantIds
- SearchCatalogEntryViewComponentsQueryPostprocessor
- Este posprocesador utiliza el perfil HCL_findCatalogEntryComponents para recuperar los detalles de los componentes.
- SearchCatalogEntryViewMerchandisingAssocQueryPostprocessor
- Este posprocesador utiliza el perfil HCL_findCatalogEntryAssociatedMerchandising para obtener detalles de la asociación de comercialización.
- Los perfiles de búsqueda se pueden personalizar para utilizar perfiles de búsqueda personalizados en caso de que necesite limitar los campos de respuesta devueltos para detalles de sku/componente/mercancía.
- Al personalizar el perfil de búsqueda, no elimine el campo de respuesta que comienza con "relationship" del perfil.
- lookupProfileName y lookupProfileNames son diferentes. lookupProfileName se utiliza para obtener los detalles del producto cuando se habilita una imagen de producto Hero, según los detalles de parentId de sku. lookupProfileNames se utiliza para recuperar los detalles de la asociación de comercialización y sku/variante/componente.
- Puede utilizar los perfiles personalizados de ejemplo proporcionados para ayudarle a limitar la cantidad de campos devueltos por la API productview/byIds para los detalles de sku/componente/mercancía.
Utilización de un perfil de búsqueda personalizado
{ "parentProfileName" : "", "profileName" : "X_findCatalogEntrySKUs", "indexName" : "product", "query" : { "params" : [ {"maxRows" : "1200"} ], "queryFields" : ["relationship.product.id"], "provider" : [ "com.hcl.commerce.search.internal.expression.provider.SearchInventoryExpressionProvider", "com.hcl.commerce.search.internal.expression.provider.SearchByPublishedEntryOnlyExpressionProvider", "com.hcl.commerce.search.internal.expression.provider.SearchByStorePathExpressionProvider", "com.hcl.commerce.search.internal.expression.provider.SearchByCatalogExpressionProvider", "com.hcl.commerce.search.internal.expression.provider.SearchByLanguageExpressionProvider", "com.hcl.commerce.search.internal.expression.provider.SearchProductEntitlementExpressionProvider"], "preprocessor" : [], "postprocessor" : [ "com.hcl.commerce.search.internal.expression.postprocessor.SearchMainCatalogEntryViewResultQueryPostprocessor", "com.hcl.commerce.search.internal.expression.postprocessor.SearchCatalogEntryViewPriceQueryPostprocessor", "com.hcl.commerce.search.internal.expression.postprocessor.SearchCatalogEntryViewUserDataQueryPostprocessor" ], "responseFields" : [ "id.catentry","id.store","buyable","id.catalog","identifier.sku.raw","name.raw","name.override.raw", "description.raw","description.override.raw","url.thumbnail","url.override.thumbnail", "url.image","url.override.image","keyword.text", "manufacturer.raw","type","prices.","path.","relationship.product.id", "relationship.item.id","attribute.source","url.seo","attachments.", "images." ] } }
También puede alterar temporalmente los perfiles predeterminados creando un perfil personalizado utilizando el mismo nombre que un perfil predeterminado. Si está disponible un perfil personalizado con el mismo nombre que un perfil predeterminado, se utiliza el perfil personalizado y se ignora el perfil predeterminado.