Estendendo uma procura de catálogo
E possível estender uma procura do catálogo para fornecer recursos de procura mais amplos por meio da atualização das informações no arquivo de índice de procura do catálogo. Para atualizar o arquivo de índice, modifique o arquivo de configuração XML estendido correspondente.
Sobre esta tarefa
- Configurações do sistema de procura
- Códigos de idioma e o analisador correspondente
- Analisador de consulta
- Atributos
Para estender uma procura de catálogo:
Procedimento
- Copie o arquivo <runtime_sandbox>/repository/xapi/template/merged/resource/extn/ExtnCatalogSearchConfigProperties.xml.sample como arquivo <runtime_sandbox>/extensions/global/template/resource/ExtnCatalogSearchConfigProperties.xml OU modifique seu arquivo XML de extensão existente
O exemplo a seguir mostra um arquivo ExtnCatalogSearchConfigProperties.xml de amostra
<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 as informações de configuração do sistema para o arquivo de índice, modifique os elementos na seção SearchSystemConfigurations de ExtnCatalogSearchConfigProperties.xml. A tabela a seguir descreve os elementos SearchSystemConfiguration em
ExtnCatalogSearchConfigProperties.xml.
Elemento
Descrição
Valor MergeFactor
Especifica o número de documentos que o mecanismo de procura de software livre Apache Lucene armazena na memória antes de gravá-los em disco como um segmento único. Para obter mais informações sobre como configurar esse valor, consulte o website Lucene.
Valor MaxMergeDocs
Especifica o número de documentos que podem ser contidos em um segmento. Para obter mais informações sobre como configurar esse valor, consulte o website Lucene.
- Para incluir ou modificar informações de código de idioma para o arquivo de índice, inclua ou modifique os elementos na seção Código de idioma de ExtnCatalogSearchConfigProperties.xml. O exemplo anterior mostra um arquivo ExtnCatalogSearchConfigProperties.xml de amostra no qual um arquivo sinônimo foi incluído no código de idioma inglês dos EUA e um código de idioma francês também foi incluído. A tabela a seguir descreve os elementos Locale em ExtnCatalogSearchConfigProperties.xml.
Elemento
Descrição
LocaleCode
Especifica o código de localidade para o arquivo de índice. Se estiver incluindo um código de idioma, certifique-se de especificar um analisador correspondente. Inglês-EUA é o código de idioma padrão.
QueryParserClass
Especifica o caminho para o analisador de consulta. O aplicativo fornece o analisado de consulta Lucene por padrão.
AnalyzerClass
Especifica o caminho para o analisador. O aplicativo fornece analisadores correspondentes para o código de idioma padrão.
SynonymFile
Especifica o caminho para o arquivo sinônimo para o código de idioma correspondente. Use o arquivo sinônimo para configurar termos relativos para procuras de palavra-chave.
- Para incluir informações de item para o arquivo de índice, inclua os atributos na seção Item de ExtnCatalogSearchConfigProperties.xml O exemplo anterior mostra um arquivo de amostra ExtnCatalogSearchConfigProperties.xml no qual o atributo MyExtendedDescription e o atributo CustomerItemDescription são adicionados. A tabela a seguir descreve os elementos do atributo Item em ExtnCatalogSearchConfigProperties.xml. Nota: É possível incluir atributos no arquivo de configuração XML estendido para o índice de procura de catálogos, mas não é possível modificar atributos nem incluir entidades Consulte <runtime_sandbox>/repository/xapi/template/merged/resource/CatalogSearchConfigProperties.xml para obter uma lista de atributos suportados por padrão.
- Para incluir informações de catálogo que pertencem ao arquivo de índice, inclua os atributos na seção Categoria de ExtnCatalogSearchConfigProperties.xml O exemplo anterior mostra um arquivo de amostra ExtnCatalogSearchConfigProperties.xml no qual o atributo MyCategoryExtendedDescription Category foi adicionado. A tabela a seguir descreve os elementos do atributo Category ExtnCatalogSearchConfigProperties.xml.
- Para incluir informações sobre o ativo para o arquivo de índice, inclua atributos na seção Ativo de ExtnCatalogSearchConfigProperties.xml O exemplo anterior mostra um arquivo ExtnCatalogSearchConfigProperties.xml de amostra no qual o ativo com o tipo de ativo MyManual incluído. A tabela a seguir descreve atributos para CatalogSearchConfigProperties.xml. Observação: O aplicativo chama o user exit YCMParseAssetUE para analisar o conteúdo do ativo para o tipo de ativo correspondente.
Atributo
Descrição
XMLName
Para os atributos item e categoria da Entidade Item, especifica o nome do atributo XML para o campo. IndexFieldName
Especifica o nome do campo do atributo conforme armazenado no índice. Valores para IndexFieldName devem ser exclusivos em todo o arquivo de configuração. Se IndexFieldName não for configurado no arquivo de configuração xml, o sistema deriva um valor para ele com base na fórmula Nome da Entidade.XMLName.
Tipo
Para atributos de recurso, especifica o tipo de recurso no banco de dados.
Peso Padrão
Especifica o peso fornecido para o termo. O valor padrão é 1.
Índice
Especifica uma das seguintes opções para armazenar valores de campo:
Analisado - armazena o valor como segmentos que podem ser procurados. Por exemplo, se um usuário procurar por Computadores de Mesa e o parâmetro do índice para o campo for analisado, os resultados da procura incluem itens com os termos Computador de Mesa, Mesa, e Computador.
Não_analisado - armazena o valor como ele aparece no banco de dados, requerendo uma correspondência exata para retornar o valor. No exemplo anterior, se a procura por Computadores de Mesa foi executada em um campo não_analisado, a procura retornaria somente itens com o termo Computador de Mesa.
Loja
Especifica uma das seguintes opções para armazenar valores de campo:
Y-armazena o valor do atributo no índice para que possa ser retornado como saída de procura. Se o atributo GetExternalValue não for configurado para Y, Armazenamento é tratado como Y.
N - não armazena o valor e somente mantém dados no índice para o atributo que está em um formato proprietário e é usado somente durante a procura.
UseSynonyms
Especifica uma das seguintes opções para incluir sinônimos na procura:
Y - indica que as consultas de procura incluem sinônimos.
N - indica que as consultas de procura não incluem sinônimos.
Pesquisável
Especifica uma das seguintes opções de procura para o campo:
Y - indica que o campo está incluído como possível critério de procura ao criar uma consulta de procura.
N - indica que o campo não está incluído como possível critério de procura ao criar uma consulta de procura.
Por exemplo, o parâmetro Searchable para o campo Is_Substituded no arquivo XML padrão é configurado como N e o parâmetro Store é configurado como Y. Os usuários não podem procurar no campo Is_Substituído em uma consulta. Porém, consultas de itens substituídos que são obsoletos retornam os itens de substituição.
Classificável
Especifica uma das seguintes opções de classificação para o campo:
Y - indica que os resultados da procura são classificados por esse campo.
N - indica que os resultados da procura não são classificados por esse item.
GetExternalValue
Especifica uma das seguintes opções para o campo:
Y - indica que o valor para esse atributo é obtido de uma origem externa por meio de uma saída de usuário.
N - indica que a saída do usuário não é chamada.
- Para adicionar atributos de outras entidades, use o
YCMGetAdditionalCatalogIndexInformationUEUser Exit. Adicione um atributo no arquivo ExtnCatalogSearchConfigProperties.xml e defina-o comoGetExternalValue="Y"comIndex="ANALYZED". A definição do endereçoIndex="ANALYZED"garante que o valor fornecido para o atributo seja dividido e indexado. A implementação da User Exit deve fornecer o valor do atributo como uma lista de valores separados por espaço, de modo que todos os valores definidos para o item sejam indexados no mesmo atributo analisado.Por exemplo, você deseja fazer uma pesquisa com base no endereço RexNumber que está na tabelaYFS_ITEM_ALIAS. Adicione o seguinte atributo.<Attribute IndexFieldName="RexNumber" DefaultWeight="1.0" Index="ANALYZED" Store="Y" UseSynonyms="N" Searchable="Y" GetExternalValue="Y"/>Exemplo de saídaYCMGetAdditionalCatalogIndexInformationUE:<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 de API:<CatalogSearch CallingOrganizationCode="DEFAULT"> <Item IgnoreInvalidItems="N" ItemGroupCode="PROD"/> <Terms> <Term Condition="MUST" IndexFieldName="RexNumber" Value="B20W12651"/> </Terms> </CatalogSearch>Observação: o valor IndexFieldName na entrada da API searchCatalogIndex deve ser o mesmo do arquivo ExtnCatalogSearchConfigProperties.xml .