É comum que uma organização tenha uma terminologia exclusiva ou várias maneiras de se referir a um conceito ou objeto. É necessário definir os sinônimos para estabelecer a equivalência de termos e ajudar os usuários a localizar os itens na realização de pesquisas.
Os sinônimos são definidos pela indexação de itens com o esquema conhecido
_dictionaryEntry
.
Os itens do tipo _dictionaryEntry
podem ter as seguintes propriedades:
Propriedade | Tipo | Descrição | Obrigatório? |
---|---|---|---|
_term |
string | O termo a ser definido. Os valores recomendados são palavras não hifenizadas ou frases sem pontuação. | Obrigatório |
_synonym |
string (repeated) | Termos alternativos a serem incluídos nas consultas que correspondem à string definida em _term . |
Obrigatório |
_onlyApplicableForAttachedSearchApplications |
boolean | Permite agrupar sinônimos por fonte de dados e aplicativo de pesquisa. Para mais informações, consulte Definir sinônimos específicos da fonte de dados. | Opcional |
Quando um usuário inclui o valor da propriedade _term
em uma consulta,
a consulta eficaz se torna "termo OU sinônimos". Por exemplo, se o termo "scifi" for definido com o sinônimo "science fiction", uma consulta que contenha a palavra "scifi" vai corresponder a itens que contenham "scifi" ou "science fiction.".
Os sinônimos não são aplicados de modo bidirecional. Se, em vez do exemplo anterior, a consulta for por "science fiction,", o Cloud Search não vai aplicar sinônimos a ela. A consulta corresponde apenas a itens que contêm "science fiction.". Os itens que contêm "scifi" são omitidos.
Para fazer com que todos os termos sejam intercambiáveis, defina cada um deles separadamente:
Termo | Sinônimos |
---|---|
scifi | science fiction |
science fiction | scifi |
Durante o processamento da consulta, os hifens e outras pontuações são removidos antes
da aplicação de sinônimos. A consulta do usuário "sci-fi"
corresponde ao _term
"sci fi."
Para criar sinônimos para termos que podem ser hifenizados pelos usuários, primeiro normalize
o _term
para que use espaços em branco em vez de hifens.
Continuando com o exemplo, as definições a seguir correspondem às consultas do usuário que tratam "sci-fi," "sci fi," "scifi," e "science fiction" como intercambiáveis:
Termo | Sinônimos |
---|---|
scifi | science fiction, sci fi |
sci fi | science fiction, scifi |
science fiction | scifi, sci fi |
Por padrão, os sinônimos em qualquer fonte de dados são aplicados em todo o domínio. Especificamente, os sinônimos são aplicados em apps de pesquisa para todas as pesquisas, independente da fonte de dados. Se você quiser sinônimos específicos da fonte de dados, consulte Definir sinônimos específicos da fonte de dados.
Definir sinônimos globais usando o SDK do Cloud Search
É possível usar o SDK do Content Connector para definir termos e sinônimos. Consulte Criar um conector de conteúdo para instruções sobre como criar um conector.
O snippet a seguir ilustra a criação de um
RepositoryDoc
que representa o termo e o sinônimo com base em um registro de arquivo CSV:
Observe o seguinte ao definir sinônimos:
- As entradas de sinônimo precisam ser de domínio público. No exemplo anterior, isso é feito ao configurar a lista de controle de acesso (ACL, na sigla em inglês) como
DOMAIN_PUBLIC_ACL
. - Não defina as propriedades a seguir para o arquivo de configuração,
porque elas modificam a configuração de domínio público do código:
defaultAcl.mode=FALLBACK
defaultAcl.public=true
Definir sinônimos específicos do aplicativo de pesquisa
Por padrão, os sinônimos são aplicados a todas as origens de dados em todos os apps de pesquisa.
No entanto, suponha que sua organização tenha equipes de engenharia e vendas separadas e
que você queira oferecer a cada equipe uma experiência de pesquisa diferente, incluindo
sinônimos específicos da função. Nesse caso, você pode criar um aplicativo de pesquisa
com uma fonte de dados e sinônimos específicos de engenharia e outro
com uma fonte de dados e sinônimos específicos de vendas. Para alcançar
esse objetivo, indexe cada sinônimo em uma fonte de dados específica
usando _onlyApplicableForAttachedSearchApplications=true
. Essa
configuração limita os sinônimos para que eles sejam aplicados apenas a apps de pesquisa
que incluem uma fonte de dados específica.
Por exemplo, adicionar a linha de código a seguir ao exemplo anterior garante que os sinônimos indexados sejam específicos da origem de dados:
structuredData.put("_onlyApplicableForAttachedSearchApplications", true);