È normale che un'organizzazione abbia una terminologia unica o più modi per riferirsi a un concetto o a una cosa. Definisci i sinonimi per stabilire l'equivalente dei termini in modo da aiutare gli utenti a trovare gli elementi quando effettuano ricerche.
I sinonimi vengono definiti indicizzando gli elementi con lo schema ben noto _dictionaryEntry
.
Gli elementi di tipo _dictionaryEntry
possono avere le seguenti proprietà:
Proprietà | Tipo | Descrizione | Campo obbligatorio? |
---|---|---|---|
_term |
string | Il termine da definire. I valori consigliati sono parole senza trattino o frasi senza punteggiatura. | Obbligatorio |
_synonym |
string (repeated) | Termini alternativi da includere nelle query corrispondenti alla stringa definita in _term . |
Obbligatorio |
_onlyApplicableForAttachedSearchApplications |
boolean | Consente di raggruppare i sinonimi per origine dati e applicazione di ricerca. Per saperne di più, consulta Definire i sinonimi specifici delle origini dati. | Facoltativo |
Quando un utente include il valore della proprietà _term
in una query,
la query effettiva diventa "sinonimi OR termine". 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 si riferisce invece a "science fiction,", Cloud Search non applica sinonimi alla query. La query corrisponde solo agli elementi contenenti "science fiction." Elementi contenenti "scifi" sono omessi.
Per rendere tutti i due termini intercambiabili, definisci ciascun termine separatamente:
Termine | Sinonimi |
---|---|
scifi | science fiction |
science fiction | scifi |
Durante l'elaborazione della query, vengono rimossi i trattini e altri elementi di punteggiatura prima di applicare i sinonimi. La query utente "sci-fi"
corrisponde a _term
"sci fi."
Per creare sinonimi per i termini che possono essere col trattino dagli utenti, prima normalizza
la _term
in modo che utilizzi gli spazi vuoti al posto dei trattini.
Proseguendo con 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 di qualsiasi origine dati si applicano a tutto il dominio. In particolare, i sinonimi vengono applicati alle applicazioni di ricerca per tutte le ricerche, indipendentemente dall'origine dati. Se vuoi trovare sinonimi specifici delle origini dati, consulta Definire i sinonimi specifici delle origini dati.
Definire i sinonimi globali utilizzando l'SDK Cloud Search
Puoi utilizzare l'SDK del connettore di contenuti per definire i termini e i relativi sinonimi. Per istruzioni sulla creazione di un connettore di contenuti, consulta Creazione di un connettore di contenuti.
Lo snippet seguente illustra la creazione di un elemento RepositoryDoc
che rappresenti il termine e sinonimo in base a un record di file CSV:
Quando definisci i sinonimi, tieni presente quanto segue:
- Le voci sinonimi devono essere pubbliche nel dominio. Nell'esempio precedente, puoi impostare 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
Definizione di sinonimi specifici per l'applicazione di ricerca
Per impostazione predefinita, i sinonimi vengono applicati a tutte le origini dati di tutte le applicazioni di ricerca.
Tuttavia, supponiamo che la tua organizzazione abbia team di progettazione e vendite separati e di voler fornire a ogni team un'esperienza di ricerca diversa, inclusi sinonimi specifici per ruoli lavorativi. In questo caso, potresti creare un'applicazione di ricerca con un'origine dati specifica per l'ingegneria e sinonimi 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 all'esempio di codice precedente garantisce che i sinonimi indicizzati siano specifici dell'origine dati:
structuredData.put("_onlyApplicableForAttachedSearchApplications", true);