Capita spesso che un'organizzazione utilizzi una terminologia unica o più modi di fare riferimento a un concetto o a una cosa. Occorre definire dei sinonimi per stabilire l'equivalente dei termini per aiutare gli utenti a trovare gli articoli durante la ricerca.
I sinonimi vengono definiti mediante l'indicizzazione degli elementi con il noto _dictionaryEntry
.
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 prive di 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 sinonimi specifici dell'origine dati. | Facoltativo |
Quando un utente include il valore della proprietà _term
in una query,
la query efficace diventa "termine OR sinonimi". Ad esempio, se
Il termine "scifi" viene definito con il sinonimo
"science fiction" seguito da una query
la parola "scifi" corrisponde a elementi che contengono
"scifi"
o "science fiction."
I sinonimi non vengono applicati in modo bidirezionale. Se invece la query riguarda "science fiction," Cloud Search non applica sinonimi alla query. La query corrisponde solo agli elementi che "science fiction." elementi contenenti "scifi" omessi.
Per rendere intercambiabili entrambi i termini, definisci ciascun termine separatamente:
Termine | Sinonimi |
---|---|
scifi | science fiction |
science fiction | scifi |
Durante l'elaborazione della query, i trattini e altri segni di punteggiatura vengono rimossi
all'applicazione di sinonimi. La query dell'utente "sci-fi"
corrisponde a _term
"sci fi."
Per creare sinonimi per i termini che possono essere sottoposti a trattino dagli utenti, devi prima normalizzare
_term
per utilizzare gli spazi vuoti al posto dei trattini.
Proseguendo con l'esempio, le seguenti definizioni corrispondono alle query degli utenti trattate "sci-fi," "sci fi," "scifi," e "science fiction" come intercambiabile:
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 all'intero dominio. In particolare, i sinonimi vengono applicati a tutte le ricerche nelle applicazioni di ricerca a prescindere dall'origine dati. Se vuoi utilizzare sinonimi specifici per le origini dati, consulta in Definire sinonimi specifici dell'origine dati.
Definire i sinonimi globali utilizzando l'SDK di Cloud Search
Puoi utilizzare l'SDK Content Connector per definire i termini e i relativi sinonimi. Consulta Crea un connettore di contenuti per istruzioni sulla creazione di un connettore.
Il seguente snippet illustra la creazione di un
RepositoryDoc
che rappresentano il termine e sinonimo sulla base di un record di file CSV:
Tieni presente quanto segue quando definisci i sinonimi:
- Le voci con i simboli devono essere pubbliche come dominio. Nell'esempio precedente,
A questo scopo, imposta l'ACL su
DOMAIN_PUBLIC_ACL
. - Le seguenti proprietà non devono essere definite per il file di configurazione
perché sostituiscono l'impostazione relativa al dominio pubblico nel tuo codice:
defaultAcl.mode=FALLBACK
defaultAcl.public=true
Definire i sinonimi specifici per l'applicazione di ricerca
Per impostazione predefinita, i sinonimi vengono applicati a tutte le origini dati in tutta la ricerca diverse applicazioni.
Tuttavia, supponiamo che la tua organizzazione abbia team di progettazione e vendita separati e
vuoi offrire a ogni team una diversa esperienza di ricerca, che comprende
sinonimi specifici per un ruolo lavorativo. In questo caso, potresti creare una ricerca
un'applicazione con un'origine dati specifica per l'ingegneria, sinonimi e un altro
un'applicazione di ricerca con un'origine dati e dei sinonimi specifici per le vendite. Per portare a termine
questo obiettivo, indicizza ogni sinonimo in una specifica origine dati
utilizzando _onlyApplicableForAttachedSearchApplications=true
. Questo
questa impostazione limita i sinonimi in modo che vengano applicati solo alla ricerca
che includono un'origine dati specifica.
Ad esempio, l'aggiunta di la seguente riga di codice nell'esempio di codice precedente garantisce che i sinonimi indicizzati sono specifiche per le origini dati:
structuredData.put("_onlyApplicableForAttachedSearchApplications", true);