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:
|
|
group | Define el comportamiento de agrupación de resultados de búsqueda en tiempo de ejecución.
|
|
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.
|
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:
|
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
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
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. |