Ampliación de una búsqueda de catálogo
Puede ampliar una búsqueda de catálogo para proporcionar más funciones de búsqueda actualizando la información en el archivo de índices de búsqueda del catálogo. Para actualizar el archivo de índices, modifique el archivo de configuración XML ampliado correspondiente.
Acerca de esta tarea
- Configuraciones del sistema de búsqueda
- Entornos locales y el analizador correspondiente
- Analizador de consultas
- Atributos
Para ampliar una búsqueda de catálogo:
Procedimiento
- Copie el archivo <runtime_sandbox>/repository/xapi/template/merged/resource/extn/ExtnCatalogSearchConfigProperties.xml.sample como archivo <runtime_sandbox>/extensions/global/template/resource/ExtnCatalogSearchConfigProperties.xml O modifique el archivo XML de extensión existente.
El ejemplo siguiente muestra un archivo ExtnCatalogSearchConfigProperties.xml de ejemplo.
<SearchConfigurations> <SearchSystemConfigurations> <MergeFactor Value="2"/> <MaxMergeDocs Value="2147483647"/> </SearchSystemConfigurations> <IndexSets> <IndexSet Name="CatalogIndex"> <Locales> <Locale LocaleCode="en_US" SynonymFile="/properties/EnglishSynonym.properties"/> <Locale LocaleCode="fr_FR" QueryParserClass="package.FrenchQueryParser.class" AnalyzerClass="package.FrenchAnalyzer.class" SynonymFile="/properties/FrenchSynonym.properties"/> </Locales> <Entities> <Entity Name="Item"> <Attributes> <Attribute XMLName="MyExtendedDescription" DefaultWeight="1.0" Index="ANALYZED" Store="Y" UseSynonyms="N" Searchable="Y" Sortable="N"/> <Attribute IndexFieldName="CustomerItemDescription" DefaultWeight="1.0" Index="ANALYZED" Store="Y" UseSynonyms="N" Searchable="Y" Sortable="N" GetExternalValue="Y"/> </Attributes> <Entity Name="CategoryItem" RelationshipName="Category_ItemList"> <Entity Name="Category" RelationshipName="Category"> <Attributes> <Attribute XMLName="MyCategoryExtendedDescription" DefaultWeight="1.0" Index="ANALYZED" Store="Y" UseSynonyms="N" Searchable="Y" Sortable="N"/> </Attributes> </Entity> </Entity> <Entity Name="Asset" RelationshipName="AssetList"> <Attributes> <Attribute Type="MyManual" DefaultWeight="1.0" Index="ANALYZED" Store="N" UseSynonyms="N" Searchable="Y" Sortable="N"/> </Attributes> </Entity> </Entity> </Entities> </IndexSet> </IndexSets> </SearchConfigurations> - Para modificar la información de configuración del sistema para el archivo de índice, modifique los elementos de la sección SearchSystemConfigurations de ExtnCatalogSearchConfigProperties.xml. La siguiente tabla describe los elementos de SearchSystemConfiguration en
ExtnCatalogSearchConfigProperties.xml.
Elemento
Descripción
Valor MergeFactor
Especifica el número de documentos que el motor de búsqueda de código fuente abierto Apache Lucene almacena en memoria antes de grabarlos en disco como un único segmento. Para obtener más información sobre cómo establecer este valor, consulte el sitio web de Lucene.
Valor MaxMergeDocs
Especifica el número de documentos que puede contener un segmento. Para obtener más información sobre cómo establecer este valor, consulte el sitio web de Lucene.
- Para añadir o modificar información de entorno local para el archivo de índices, añada o modifique los elementos en la sección Entornos locales de ExtnCatalogSearchConfigProperties.xml. El ejemplo anterior muestra un archivo ExtnCatalogSearchConfigProperties.xml de ejemplo en el que se ha añadido un archivo de sinónimos al entorno local de inglés de EE.UU. y también se ha añadido un entorno local de francés. La tabla siguiente describe los elementos Locale en ExtnCatalogSearchConfigProperties.xml.
Elemento
Descripción
LocaleCode
Especifica el código de entorno local del archivo de índices. Si está añadiendo un entorno local, asegúrese de que especifica el analizador correspondiente. El entorno local predeterminado es US-English.
QueryParserClass
Especifica la ruta de acceso al analizador de consultas. La aplicación proporciona el analizador de consultas Lucene de forma predeterminada.
AnalyzerClass
Especifica la ruta de acceso del analizador. La aplicación proporciona los analizadores correspondientes del entorno local predeterminado.
SynonymFile
Especifica la ruta de acceso del archivo sinónimo para el entorno local correspondiente. Utilice el archivo sinónimo para configurar los términos relacionados con búsquedas de palabra clave.
- Para añadir información de elemento para el archivo de índices, añada los atributos en la sección Elemento de ExtnCatalogSearchConfigProperties.xml. El ejemplo anterior muestra un archivo ExtnCatalogSearchConfigProperties.xml de ejemplo en el que se añaden el atributo MyExtendedDescription y el atributo CustomerItemDescription. En la tabla siguiente se describen los elementos de atributo Elemento en ExtnCatalogSearchConfigProperties.xml. Nota: Puede añadir atributos al archivo de configuración XML ampliado para el índice de búsqueda de catálogo, pero no puede modificar atributos ni añadir entidades. Consulte <runtime_sandbox>/repository/xapi/template/merged/resource/CatalogSearchConfigProperties.xml para obtener una lista de los atributos soportados de forma predeterminada.
- Para añadir información de catálogo que pertenece al archivo de índices, añada los atributos en la sección Categoría de ExtnCatalogSearchConfigProperties.xml. El ejemplo anterior muestra un archivo ExtnCatalogSearchConfigProperties.xml de ejemplo en el que se ha añadido el atributo MyCategoryExtendedDescription Category. En la tabla siguiente se describen los elementos de atributo de categoría ExtnCatalogSearchConfigProperties.xml.
- Para añadir información de activos para el archivo de índices, añada atributos en la sección Activo de ExtnCatalogSearchConfigProperties.xml. El ejemplo anterior muestra un archivo ExtnCatalogSearchConfigProperties.xml de ejemplo en el que se ha añadido el activo con el tipo de activo MyManual . En la tabla siguiente se describen los atributos de CatalogSearchConfigProperties.xml. Nota: La aplicación llama a la salida de usuario YCMParseAssetUE para analizar el contenido del activo para el tipo de activo correspondiente.
Atributo
Descripción
XMLName
Para los atributos de artículo y categoría de Item Entity, especifique el nombre del atributo XML del campo. IndexFieldName
Especifica el nombre de campo del atributo tal como está almacenado en el índice. Los valores de IndexFieldName deben ser exclusivos en todo el archivo de configuración. Si en el archivo de configuración xml no está configurado IndexFieldName, el sistema calcula su valor basándose en la fórmula Nombre de entidad.XMLName.
Tipo
Para los atributos asset, especifique el tipo de activo en la base de datos.
Peso predeterminado
Especifica la ponderación que se da al término. El valor predeterminado es 1.
Índice
Especifica una de las siguientes opciones para almacenar valores de campo:
Analyzed: almacena el valor como segmentos en que se pueden hacer búsquedas. Por ejemplo, si un usuario busca ordenador portátil y el parámetro de índice del campo se analiza, los resultados de la búsqueda incluirán los elementos con los términos ordenador portátil, ordenador y portátil.
Non_analyzed: almacena el valor tal como aparece en la base de datos, lo que requiere una coincidencia exacta para devolver el valor. En el ejemplo anterior, si la búsqueda de ordenadores portátiles se ejecutara en un campo non_analyzed, la búsqueda devolvería sólo los elementos con el término ordenador portátil.
Tienda
Especifica una de las siguientes opciones para almacenar valores de campo:
Y-almacena el valor del atributo en el índice para que se pueda devolver como salida de búsqueda. Si el atributo GetExternalValue se establece en Y, Store se trata como Y.
N: no almacena el valor y sólo conserva los datos en el índice para el atributo que están en un formato de propiedad y únicamente se utilizan durante la búsqueda.
UseSynonyms
Especifica una de las siguientes opciones para incluir sinónimos en la búsqueda:
Y: indica que las consultas de búsqueda incluyen sinónimos.
N: indica que las consultas de búsqueda no incluyen sinónimos.
Permite búsquedas
Especifica una de las siguientes opciones de búsqueda para el campo:
Y: indica que el campo se incluye como posible criterio de búsqueda al crear una consulta de búsqueda.
N: indica que el campo no se incluye como posible criterio de búsqueda al crear una consulta de búsqueda.
Por ejemplo, el parámetro Searchable para el campo Is_Superseded en el archivo XML predeterminado se establece en N y el parámetro Store se establece en Y. Los usuarios no pueden buscar en el campo Is_Superseded de una consulta. Sin embargo, las consultas de los artículos sustituidos (superseded) que son obsoletos devuelven los artículos sustituidos.
Ordenable
Especifica una de las siguientes opciones de clasificación para el campo:
Y: indica que los resultados de la búsqueda se ordenan por este campo.
N: indica que los resultados de búsqueda no se ordenan por este artículo.
GetExternalValue
Especifica una de las siguientes opciones para el campo:
Y: indica que el valor de este atributo se obtiene a partir de un origen externo mediante una salida de usuario.
N: indica que no se llama a la salida de usuario.
- Para añadir atributos de otras entidades, utilice la salida de usuario
YCMGetAdditionalCatalogIndexInformationUE. Añade un atributo en el archivo ExtnCatalogSearchConfigProperties.xml y establécelo comoGetExternalValue="Y"conIndex="ANALYZED". La configuración deIndex="ANALYZED"garantiza que el valor proporcionado para el atributo se divide y se indexa. La implementación de la Salida de Usuario debe proporcionar el valor para el atributo como una lista de valores separada por espacios para que todos los valores que se definan para el elemento se indexen en el mismo atributo analizado.Por ejemplo, desea realizar una búsqueda basada en la dirección RexNumber que se encuentra en la tablaYFS_ITEM_ALIAS. Añade el siguiente atributo.<Attribute IndexFieldName="RexNumber" DefaultWeight="1.0" Index="ANALYZED" Store="Y" UseSynonyms="N" Searchable="Y" GetExternalValue="Y"/>MuestraYCMGetAdditionalCatalogIndexInformationUEoutput:<ItemList> <Item ItemGroupCode="PROD" ItemID="item1" ItemKey="2022082916370947165" OrganizationCode="DEFAULT" UnitOfMeasure="EACH"> <AdditionalCatalogIndexInformationList> <AdditionalCatalogIndexInformation IndexFieldName="RexNumber" Value="B20W12651"/> </AdditionalCatalogIndexInformationList> </Item> <Item ItemGroupCode="PROD" ItemID="item2" ItemKey="2022082916363047156" OrganizationCode="DEFAULT" UnitOfMeasure="EACH"/> <Item ItemGroupCode="PROD" ItemID="item3" ItemKey="2025031220491713813" OrganizationCode="DEFAULT" UnitOfMeasure="EACH"> <AdditionalCatalogIndexInformationList> <AdditionalCatalogIndexInformation IndexFieldName="RexNumber" Value="B20W126111"/> </AdditionalCatalogIndexInformationList> </Item> </ItemList>searchCatalogIndex Entrada API:<CatalogSearch CallingOrganizationCode="DEFAULT"> <Item IgnoreInvalidItems="N" ItemGroupCode="PROD"/> <Terms> <Term Condition="MUST" IndexFieldName="RexNumber" Value="B20W12651"/> </Terms> </CatalogSearch>Nota: El valor IndexFieldName de la entrada de la API searchCatalogIndex debe ser el mismo que el del archivo ExtnCatalogSearchConfigProperties.xml .