HCL Commerce Version 9.1.14.0 or later

Propiedades de perfiles de búsqueda

Los perfiles de búsqueda se definen en formato .json. Puede configurar las propiedades para personalizar el comportamiento de búsqueda, utilizando un conjunto de proveedores definidos y procesadores previos y posteriores.

Estructura del perfil de búsqueda

Cada documento de perfil está en formato .json y tiene la estructura siguiente. (En este ejemplo se muestra la característica de resaltado de Elasticsearch; para obtener más información sobre esta característica, consulte Resaltado en la guía de Elasticsearch).
{ "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" } } } }

Propiedades del perfil

En la tabla siguiente se resumen las propiedades configurables de los perfiles.

Propiedad de perfil de búsqueda Subpropiedad Descripción:
indexName Este campo contiene el nombre del índice de Elasticsearch para el cual el perfil creará y ejecutará consultas elásticas. Es un campo obligatorio. Por ejemplo: auth.price o live.inventary.
parentProfileName Esta propiedad se utiliza para heredar un perfil existente. Es un parámetro no obligatorio.
profileName Nombre de un archivo que contiene atributos de rendimiento configurables y una o varias definiciones de elementos de carga.
query maxRows Limita el número máximo de resultados de búsqueda por página. El valor predeterminado es 50.
maxTimeAllowed Restringe la cantidad máxima de tiempo permitido (en milisegundos) para que se ejecute cualquier consulta. Si la consulta tarda más tiempo de lo especificado, se produce un tiempo de espera y se pueden devolver resultados parciales (o ningún resultado). Si el valor es nulo, el parámetro se elimina de la solicitud. El valor predeterminado es 15000.
highlight Declara una lista de campos de índice de búsqueda que se utilizarán para el resaltado y su comportamiento de resaltado asociado en el tiempo de ejecución.
queryFields Esta propiedad define el ámbito de búsqueda (por ejemplo, solo campos de búsqueda de Elasticsearch) para la consulta de Elasticsearch que se está creando.
sortFields Se utiliza para definir opciones de clasificación para consultas de Elasticsearch. La clave para cada campo es index_field_name y estas claves se pueden enviar directamente desde el escaparate para usarlas al definir la clasificación.
preprocesador Consulte Preprocesadores.
postprocesador Consulte Postprocesadores.
proveedores Consulte Proveedores disponibles.
responseFields igual que solr
spellcheck Define el comportamiento de corrección ortográfica durante el tiempo de ejecución.
Contiene el parámetro siguiente:
limit
Indica el número máximo de sugerencias a devolver. El valor predeterminado es 5.
group Define el comportamiento de agrupación de resultados de búsqueda en tiempo de ejecución.
group
Especifica si se habilita la agrupación de resultados de búsqueda. El valor predeterminado es false.

Puede añadir más parámetros de agrupación utilizando el mismo convenio group.parameter_name. Para obtener más información sobre los parámetros de agrupación, consulte la publicación Apache 5.5 Reference Guide.

group.limit
Especifica el número máximo de resultados de búsqueda por grupo. El valor predeterminado es 100.
field
El nombre de campo por el que agrupar. Este valor debe definirse como la última entrada de la configuración de grupo.
hero Define el comportamiento de producto de agrupación de representante en tiempo de ejecución. Esta propiedad se aplica cuando se habilita la agrupación de resultados de búsqueda.
overrideFieldName
Una lista separada por comas de nombres de campo. Cuando se especifica, algunas propiedades del elemento más relevante del grupo alteran las propiedades productBean devueltas. Por ejemplo, thumbnail (miniatura) o name (nombre). El valor predeterminado es thumbnail.
showGroupPriceRange
Cuando se establece en true, el precio de productBean devuelto muestra un rango de precios basándose en los códigos de artículo subyacentes que han generado las búsquedas con resultados. El valor predeterminado es false.
QueryMissingGroupOwner
Busca propietarios de grupo que faltan en el índice. Se ejecuta en un lote para todos los grupos para el tamaño de página actual. El valor predeterminado es true.

Proveedores disponibles

Proveedores Descripción:
SearchBasedMerchandisingExpressionProvider Llama al componente de marketing para ejecutar las reglas de búsqueda. Las reglas de búsqueda se pueden aplicar a todas las búsquedas o palabras clave de búsqueda específicas. Pueden añadir más restricciones a la solicitud de búsqueda para influir en el orden de los resultados. También pueden añadir nuevas condiciones a la consulta de búsqueda con la intención de añadir nuevos productos a los resultados de búsqueda.
SearchByCategoryExpressionProvider Maneja la búsqueda por categoría y considera el catálogo de ventas en el contexto de negocio actual.
SearchByManufacturerExpressionProvider Maneja la búsqueda por solicitudes de nombre de marca. La expresión resultante se añade al objeto SelectionCriteria (_wcf.search.internal.meta) y se codificará en la cadena de metadatos más adelante.
SearchByPriceExpressionProvider Maneja la búsqueda por solicitud de rango de precios que se genera desde la página Búsqueda avanzada. La expresión resultante se añade al objeto SelectionCriteria (_wcf.search.internal.meta) y se codificará en la cadena de metadatos más adelante.
SearchByFacetExpressionProvider Maneja la búsqueda por solicitud de faceta. Este proveedor ayuda a convertir una expresión XPath en una expresión de Elasticsearch. La expresión resultante se añade al objeto SelectionCriteria (_wcf.search.internal.meta) y se codificará en la cadena de metadatos más adelante.
SearchByStorePathExpressionProvider, SearchByStorePathAssetStoreExpressionProvider Genera condiciones para manejar la vía de acceso de tienda. La expresión resultante se añade al objeto SelectionCriteria (_wcf.search.internal.filterquery) para otros procesos en sentido descendente.
SearchByPublishedEntryOnlyExpressionProvider Limita los resultados de búsqueda a entradas publicadas. La expresión resultante se añade al objeto SelectionCriteria (_wcf.search.internal.filterquery) para otros procesos en sentido descendente.
SearchByCustomExpressionProvider Maneja la búsqueda por expresión personalizada que está almacenada en _wcf.search.expr. Esta expresión personalizada se añade al objeto SelectionCriteria (_wcf.search.internal.optional.query) para otros procesos en sentido descendente.
SearchTypeExpressionProvider Este proveedor de expresiones de búsqueda maneja el tipo de coincidencia para solicitudes de búsqueda de palabra. Lo siguiente es la pseudológica de cómo el tipo de coincidencia (_wcf.search.type) se puede convertir a un criterio de búsqueda:
  1. El tipo de coincidencia toma de forma predeterminada ANY, Excluir código de artículo
  2. La expresión Excluir código de artículo se representa como -catenttype_id_ntk_cs:ItemBean.
  3. Solo la expresión SKU se representa como - +catenttype_id_ntk_cs:ItemBean.
  4. La expresión Incluir código de artículo no necesita cualificarse.
La expresión resultante se añade al objeto SelectionCriteria (_wcf.search.internal.filterquery) para otros procesos en sentido descendente.
SearchProductSequencingExpressionProvider Ordena las entradas de producto del resultado de búsqueda por clasificación.
SearchCategorySequencingExpressionProvider Ordena las categorías por clasificación.
SearchTermAssociationExpressionProvider Maneja la expansión de asociación de términos de búsqueda (STA). Este proveedor ayuda a obtener sinónimos y a sustituir el término de búsqueda para captar el resultado final. Los sinónimos captados por el servicio STA se añade al objeto SelectionCriteria para otros procesos en sentido descendente: _wcf.search.internal.synonyms.
SearchProductEntitlementExpressionProvider Realiza la autorización de producto. Esta se realiza llamando a ProductEntitlementExpressionHelper para crear expresiones de consulta específicas del motor de búsqueda para contratos que contienen Términos y condiciones CatalogFilter y Términos y condiciones ProductSet. Si una lista de contratos pasa, ProductEntitlementExpressionHelper crea la expresión de búsqueda en dichos contratos, en lugar de captar el contrato del contexto. De lo contrario, si no se pasan contratos como parámetros, esta clase auxiliar capta los contratos elegibles actuales y crea expresiones de búsqueda para ellos. La expresión resultante se añade al objeto SelectionCriteria (_wcf.search.internal.filterquery) para otros procesos en sentido descendente.
SearchCategoryEntitlementExpressionProvider Realiza la autorización a nivel de grupo de catálogo desencadenando una búsqueda en el núcleo de entrada de catálogo. A continuación, analiza el recuento de facetas indicado del núcleo de entrada de catálogo y crea una consulta de filtro interna en el núcleo de grupo de catálogo. La expresión resultante se añade al objeto SelectionCriteria (_wcf.search.internal.filterquery) para otros procesos en sentido descendente.
SearchByKeywordRelevancyExpressionProvider Maneja la búsqueda por solicitud de palabra clave.
SearchInventoryExpressionProvider Maneja las búsquedas para el índice de búsqueda de inventario.
SearchByCatalogExpressionProvider Este proveedor para manejar el contexto del catálogo. La expresión ES resultante se añade de nuevo al objeto searchCriteria para otros procesos en sentido descendente utilizando el parámetro de control (_wcf.search.internal.filterquery).
SearchByLanguageExpressionProvider Gestiona la búsqueda según el idioma. La expresión ES resultante se añade al objeto SelectionCriteria (_wcf.search.internal.filterquery) para otros procesos en sentido descendente.
SearchByRankingQueryProvider Este proveedor se utiliza para gestionar la búsqueda basada en clasificación. La expresión ES resultante se añadirá de nuevo al objeto searchCriteria para otros procesos en sentido descendente utilizando el parámetro de control (_wcf.search.internal.filterquery) y (_wcf.search.rule.add).
SearchBySellerExpressionProvider Este proveedor se encarga de gestionar la búsqueda por solicitud de nombre de vendedor. La expresión resultante se añadirá de nuevo al objeto searchCriteria para otros procesos en sentido descendente utilizando el parámetro de control (_wcf.search.internal.meta).
SearchChildCategoryExpressionProvider Esta es la implementación del proveedor de expresiones de búsqueda para gestionar la búsqueda por solicitud de categoría padre. La expresión ES resultante se añadirá de nuevo al objeto searchCriteria para otros procesos en sentido descendente utilizando el parámetro de control (_wcf.search.internal.filterquery).
SearchMultiwordFilterProviderHelper Convierte el espacio de varias palabras con NNNN y añade el término de búsqueda resultante nuevamente al (_wcf.search.term) para su posterior procesamiento.
SearchNavigationExpressionProvider Este proveedor llama al servicio RESTful de marketing para ejecutar reglas de exploración de categorías. Tenga en cuenta que las reglas de navegación solo se pueden utilizar con los siguientes objetivos y acciones: - Destino de 'Página actual' (solo con el comportamiento "El cliente está viendo una categoría") - Destino de 'Segmento de clientes' (solo para segmentos de clientes explícitos) - Acción 'Cambiar el orden de los resultados de búsqueda' No se admiten todos los demás objetivos y acciones.
SearchWorkspaceExpressionProvider Gestiona la búsqueda por espacio de trabajo. La expresión ES resultante se añade al objeto SelectionCriteria (_wcf.search.internal.filterquery) para otros procesos en sentido descendente.

Preprocesadores

Table 1.
Preprocesador Descripción:
SearchRelevancyByProductGroupingQueryPreprocessor Cuando la navegación o agrupación de búsqueda hero está habilitada, este preprocesador incluye agregación y contracción en el creador de consultas de búsqueda elástica.

Postprocesadores

Table 2. Descripciones del posprocesador
Postprocesador Descripción:
SearchCatalogEntryViewAttachmentsQueryPostprocessor Vuelve a formatear la respuesta en un objeto estructurado. Llena la lista Adjuntos en la parte catalogEntryView de la respuesta. La configuración de correlación se define en el archivo wc-component.json en la sección XPathToAttachmentsBODResponseFieldNameMapping. Este postprocesador realiza una subconsulta de búsqueda para recuperar los elementos asociados de entrada de catálogo. Utiliza el perfil de búsqueda IBM_findCatalogEntryAssociatedAssets.
SearchCatalogEntryViewAttributesQueryPostprocessor Vuelve a formatear la respuesta en un objeto estructurado. Llena la lista Atributos y la lista de valores de atributos en la parte catalogEntryView de la respuesta. La configuración de correlación se define en el archivo wc-component.json bajo las secciones XPathToAttributesBODResponseFieldNameMapping y XPathToAttributesValuesBODResponseFieldNameMapping.
SearchCatalogEntryViewComponentsQueryPostprocessor Vuelve a formatear la respuesta en un objeto estructurado. Llena la lista Componentes en la parte catalogEntryView de la respuesta. La configuración de correlación se define en el archivo wc-component.json en la sección XPathToComponentsBODResponseFieldNameMapping. Este postprocesador realiza una subconsulta de búsqueda para recuperar los componentes asociados de entrada de catálogo. Utiliza el perfil IBM_findCatalogEntryComponentssearch.
SearchCatalogEntryViewMerchandisingAssocQueryPostprocessor Vuelve a formatear la respuesta en un objeto estructurado. Llena la merchandisingAssociationslist en la parte catalogEntryView de la respuesta. La configuración de correlación se define en el archivo wc-component.json en la sección XPathToMerchandisingAssociationsBODResponseFieldNameMapping. Este postprocesador emite una consulta de base de datos para recuperar los identificadores de comercialización asociados a la entrada de catálogo y, a continuación, realiza una subconsulta de búsqueda para recuperar los detalles de comercialización asociados reales. Utiliza el perfil de búsqueda IBM_findCatalogEntryAssociatedMerchandising y la plantilla de consulta IBM_GET_MERCHANDISING_ASSOCIATIONS_BY_CATALOG_ENTRY_ID que se ha definido en el archivo wc-query-utilities.tpl.
SearchBrandSuggestionQueryPostprocessor Un postprocesador de consulta de búsqueda para manejar la sugerencia de marca.
SearchCategorySuggestionQueryPostprocessor Un postprocesador de consulta de búsqueda para manejar la sugerencia de categoría.
SearchFacetQueryPostprocessor Adjunte la respuesta relacionada con la faceta en datos.
SearchChildCategoryEntitlementQueryPostprocessor Elimina catgroupId hijo sin autorización de DocumentList en la respuesta.
SearchCategoryEntitlementQueryPostprocessor Elimina el documento de la categoría especificada de DocumentList en la respuesta.
SearchBreadCrumbTrailQueryPostprocessor Generar la indicación de ruta.
SearchEntitlementQueryPostprocessor Poner información de faceta catgroup_id_search en SearchResponse.
SearchSpellCheckSuggestionQueryPostprocessor Vuelve a formatear los comentarios de corrección ortográfica en una lista de palabras clave más legibles.
SearchCatalogGroupViewUserDataQueryPostprocessor Añadir campos de índice personalizados a la respuesta de búsqueda para el recurso de vista de categoría.
SearchRelevancyByProductGroupingPostprocessor Un postprocesador de consulta de búsqueda para manejar las configuraciones de agrupación de resultados.
SearchBrowseRelevancyByProductGroupingPostprocessor Selecciona un documento de Elasticsearch de cada grupo y realiza una segunda llamada para buscar el producto propietario del grupo y crea búsquedas con resultados para que las consuman otros posprocesadores. A continuación, se devuelve el resultado en la respuesta de REST final.
SearchCatalogEntrySuggestionQueryPostprocessor Vuelve a formatear la respuesta de ES en un objeto estructurado desde catalogEntryView y rellena la parte de suggestionView de la respuesta. La configuración de correlación se define en el archivo wc-component.json en la sección XPathToCategoryViewBODResponseFieldNameMapping.
SearchCatalogEntryViewImagesQueryPostProcessor Un posprocesador de consultas de búsqueda para la gestión de todos los campos relacionados con imágenes.
SearchCatalogEntryViewPriceQueryPostprocessor Vuelve a formatear la respuesta en un objeto estructurado. Llena la lista de precios en la parte catalogEntryView de la respuesta. La configuración de correlación se define en el archivo wc-component.json en la sección XPathToPriceBODResponseFieldNameMapping.
SearchCatalogEntryViewUserDataQueryPostprocessor Un posprocesador de consultas de búsqueda para añadir campos personalizados a la respuesta.
SearchCatalogEntryViewUserDataQueryPostprocessor Un posprocesador de consultas de búsqueda para añadir campos personalizados a la respuesta.
SearchRankingQueryPostProcessor Vuelve a secuenciar la respuesta de ES según los detalles de la clasificación y también la incluye en las "clasificaciones" del campo de metadatos de respuesta.
SearchKeywordSuggestionQueryPostprocessor Un posprocesador de consultas de búsqueda para gestionar las sugerencias de palabras clave.
SearchSellerSuggestionQueryPostprocessor Un posprocesador de consultas de búsqueda para gestionar las sugerencias del vendedor.
SearchV2ContentPageQueryPostProcessor Un posprocesador de consultas de búsqueda para añadir una sección de diseño para las páginas de contenido en la respuesta del servicio URL.

V2UrlAssetStorePostProcessor

V2UrlPostProcessor

Una respuesta de API de URL de reestructuración posterior al procesador v2 de consulta de búsqueda.
SearchV2UrlUserDataQueryPostProcessor Un posprocesador de consultas de búsqueda para añadir campos personalizados a la respuesta.