Descrizione del metodo

Mentre lo stemming aiuta ad ampliare l’ambito della ricerca semplificando le parole flesse alla loro forma radice, i sinonimi ampliano l’ambito mettendo in relazione concetti e idee. Come abbiamo detto sopra, uno dei tanti problemi che possono incontrarci sta usando parole non esattamente adatte nella query di ricerca. Ad esempio, possiamo avere il nome del campo uguale a "blue jacket" nel documento e il nome "cyan jacket" nella query di ricerca. L’utilizzo del filtro token sinonimo consente di gestire facilmente i sinonimi durante il processo di analisi. I sinonimi vengono configurati utilizzando un file di configurazione.

Descrizione del processo

1)Innanzitutto, dobbiamo definire un filtro token di tipo sinonimo e aggiungere formati di sinonimi nella formattazione dei sinonimi. Primo modo per impostare un filtro:

E un altro modo con l’utilizzo di un percorso per synonym.txt:

"filter" : { "synonyms_filt" : {"tokenizer": "keyword", "type" : "synonym", "synonyms_path" : "analysis/synonym.txt" } } } }

SUGGERIMENTO: questo file analysis/synonym.txt deve trovarsi in ogni nodo del cluster. Il formato del file dovrebbe essere il seguente:

Descritto sopra configura un filtro sinonimo con un percorso di analysis/synonym.txt (relativo alla posizione di configurazione).

Supergiant Di Qbox: il primo sistema di controllo totale del datacenter che consente di risparmiare fino al 60% sulla bolletta AWS.

 "analyzer": { "filter_synonyms": { "filter": , "tokenizer": "keyword" } }

Puoi vedere che abbiamo aggiunto due sinonimi per i colori blu e oro. Quando l’utente cerca "cobalt dress", elastic restituirà l’ambito con "cobalt"sinonimi di colore "blue, Blue, blue-gold, dark blue/black/charcoal, duke blue, jade blue, scottsdale blue, blue/white/khaki, pacific blue". Ad esempio, è possibile creare una query e testarla senza sinonimi e quindi aggiungere il nostro analizzatore "filter_synonyms".

3) Testiamo il nostro filtro stopwords personalizzato:

Come secondo:

"hits" : { "total" : 36165,"max_score" : 0.62592113}

Ulteriori informazioni

L’utilizzo dello stesso filtro token sinonimo sia all’ora di indice che all’ora di ricerca è ridondante. Se sostituiamo l’oro al momento dell’indice con i due termini oro-blu e Oro, al momento della ricerca dobbiamo cercare solo uno di questi termini. In alternativa, se non usiamo sinonimi al momento dell’indice, dovremmo convertire una query per l’oro in una query per l’oro o l’oro-blu al momento della ricerca.

Categorie: Articles

0 commenti

Lascia un commento

Segnaposto per l'avatar

Il tuo indirizzo email non sarà pubblicato.