É 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.
Sinônimos são definidos pela indexação de itens com o _dictionaryEntry
conhecido
esquema.
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 app 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 efetiva se torna "termo OR sinônimos". Por exemplo, se o
o termo "scifi" é definido com o sinônimo
"science fiction", depois uma consulta
contendo a palavra "scifi" corresponde a itens que contêm
"scifi"
ou "science fiction."
Os sinônimos não são aplicados de modo bidirecional. Se a consulta for para "science fiction," Cloud Search não aplica sinônimos à consulta. A consulta só corresponde a itens que contêm "science fiction." itens contendo "scifi" são omitidos.
Para tornar todos os dois termos intercambiáveis, defina cada um deles separadamente:
Termo | Sinônimos |
---|---|
scifi | science fiction |
science fiction | scifi |
Durante o processamento da consulta, a hifenização e outras pontuações são removidas antes
até aplicar sinônimos. A consulta do usuário "sci-fi"
corresponde a _term
"sci fi."
Para criar sinônimos para termos que podem ser hifenizados pelos usuários, primeiro normalize
o _term
para usar 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 se aplicam a um domínio inteiro. Especificamente, os sinônimos são aplicados nos aplicativos de pesquisa para todas as pesquisas seja qual for a fonte. Se quiser sinônimos específicos da fonte de dados, consulte para 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 uma
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
. - As seguintes propriedades não devem ser definidas para seu arquivo de configuração
porque eles substituem a configuração de domínio público no 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 fontes de dados em toda a pesquisa aplicativos conteinerizados.
No entanto, suponha que sua organização tenha equipes separadas de engenharia e vendas, e
você quer fornecer a cada equipe uma experiência de pesquisa diferente, incluindo
sinônimos específicos da função. Nesse caso, você pode criar uma pesquisa
aplicativo com uma fonte de dados e sinônimos específicos de engenharia e outro
aplicativo de pesquisa com uma fonte de dados específica de vendas e sinônimos. Para realizar
para essa meta, indexe cada sinônimo em uma fonte de dados específica
usando _onlyApplicableForAttachedSearchApplications=true
. Isso
limita os sinônimos para que sejam aplicados somente
aplicativos que incluem uma fonte de dados específica.
Por exemplo, adicionar o a seguinte linha de código para o exemplo de código anterior garante que os sinônimos indexados são específicos da fonte de dados:
structuredData.put("_onlyApplicableForAttachedSearchApplications", true);