È comune che un'organizzazione abbia una terminologia unica o più modi per fare riferimento a un concetto o a una cosa. Devi definire i sinonimi per stabilire l'equivalenza dei termini per aiutare gli utenti a trovare gli elementi durante la ricerca.
I sinonimi vengono definiti indicizzando gli elementi con lo schema
_dictionaryEntry
noto.
Gli elementi di tipo _dictionaryEntry
possono avere le seguenti proprietà:
Proprietà | Tipo | Descrizione | Obbligatorio? |
---|---|---|---|
_term |
string | Il termine da definire. I valori consigliati sono parole o frasi senza trattino e punteggiatura. | Obbligatorio |
_synonym |
string (repeated) | Termini alternativi da includere nelle query che corrispondono alla stringa definita in _term . |
Obbligatorio |
_onlyApplicableForAttachedSearchApplications |
boolean | Consente di raggruppare i sinonimi per origine dati e applicazione di ricerca. Per ulteriori informazioni, vedi Definire sinonimi specifici per l'origine dati. | Facoltativo |
Quando un utente include il valore della proprietà _term
in una query,
la query effettiva diventa "termine OR sinonimi". Ad esempio, se il
termine "scifi" è definito con il sinonimo
"science fiction", una query
contenente la parola "scifi" corrisponde agli elementi contenenti
"scifi"
o "science fiction.".
I sinonimi non vengono applicati in modo bidirezionale. Se la query riguarda invece "science fiction," Cloud Search non applica sinonimi alla query. La query corrisponde solo agli elementi contenenti "science fiction." Gli elementi contenenti "scifi" vengono omessi.
Per rendere intercambiabili entrambi i termini, definiscili separatamente:
Termine | Sinonimi |
---|---|
scifi | science fiction |
science fiction | scifi |
Durante l'elaborazione delle query, i trattini e altri segni di punteggiatura vengono rimossi prima
di applicare i sinonimi. La query utente "sci-fi"
corrisponde a _term
"sci fi."
Per creare sinonimi per i termini che potrebbero essere scritti con il trattino dagli utenti, normalizza
prima _term
in modo che utilizzi gli spazi bianchi anziché i trattini.
Continuando l'esempio, le seguenti definizioni corrispondono alle query utente che considerano "sci-fi," "sci fi," "scifi," e "science fiction" come intercambiabili:
Termine | Sinonimi |
---|---|
scifi | science fiction, sci fi |
sci fi | science fiction, scifi |
science fiction | scifi, sci fi |
Per impostazione predefinita, i sinonimi in qualsiasi origine dati vengono applicati a un intero dominio. Nello specifico, i sinonimi vengono applicati a tutte le applicazioni di ricerca per tutte le ricerche, indipendentemente dall'origine dati. Se vuoi sinonimi specifici per l'origine dati, consulta la sezione Definire sinonimi specifici per l'origine dati.
Definisci sinonimi globali utilizzando Cloud Search SDK
Puoi utilizzare l'SDK Content Connector per definire i termini e i relativi sinonimi. Consulta la pagina Creare un connettore di contenuti per istruzioni sulla creazione di un connettore.
Il seguente snippet mostra la creazione di un
RepositoryDoc
che rappresenta il termine e il sinonimo in base a un record di un file CSV:
Quando definisci i sinonimi, tieni presente quanto segue:
- Le voci dei sinonimi devono essere pubbliche per il dominio. Nell'esempio precedente,
questo risultato viene ottenuto impostando l'ACL su
DOMAIN_PUBLIC_ACL
. - Le seguenti proprietà non devono essere definite per il file di configurazione
perché sostituiscono l'impostazione pubblica del dominio nel codice:
defaultAcl.mode=FALLBACK
defaultAcl.public=true
Definisci sinonimi specifici dell'applicazione di ricerca
Per impostazione predefinita, i sinonimi vengono applicati a tutte le origini dati in tutte le applicazioni di ricerca.
Tuttavia, supponiamo che la tua organizzazione abbia team di ingegneria e vendite separati e
che tu voglia fornire a ogni team un'esperienza di ricerca diversa, inclusi
sinonimi specifici per il ruolo lavorativo. In questo caso, potresti creare un'applicazione di ricerca con un'origine dati e sinonimi specifici per l'ingegneria e un'altra applicazione di ricerca con un'origine dati e sinonimi specifici per le vendite. Per raggiungere
questo obiettivo, indicizza ogni sinonimo in un'origine dati specifica
utilizzando _onlyApplicableForAttachedSearchApplications=true
. Questa
impostazione limita i sinonimi in modo che vengano applicati solo alle applicazioni
di ricerca che includono un'origine dati specifica.
Ad esempio, l'aggiunta della seguente riga di codice al campione di codice precedente garantisce che i sinonimi indicizzati siano specifici per l'origine dati:
structuredData.put("_onlyApplicableForAttachedSearchApplications", true);