a módszer leírása
míg a stemming segít a keresés hatókörének kibővítésében azáltal, hogy egyszerűsíti a ragozott szavakat gyökérformájukra, a szinonimák kibővítik a hatókört fogalmak és ötletek összekapcsolásával. Mint fentebb említettük, a sok probléma egyike, amely találkozhat velünk, nem pontosan megfelelő szavakat használ a keresési lekérdezésben. Például a dokumentumban a mező neve "blue jacket"
, a keresési lekérdezésben pedig "cyan jacket"
lehet. A szinonima token szűrő használata lehetővé teszi a szinonimák egyszerű kezelését az elemzési folyamat során. A szinonimák konfigurációs fájl segítségével vannak konfigurálva.
a folyamat leírása
1)Először meg kell határoznunk egy szinonima típusú token szűrőt, majd szinonima formátumokat kell hozzáadnunk a szinonimák formázásához. A szűrő beállításának első módja:
és még egy út a synonym.txt
:
"filter" : { "synonyms_filt" : {"tokenizer": "keyword", "type" : "synonym", "synonyms_path" : "analysis/synonym.txt" } } } }
tipp: ennek a fájlnak analysis/synonym.txt
a fürt minden csomópontjában kell lennie. A fájlformátumnak a következőnek kell lennie:
a fent leírt szinonimaszűrő konfigurálása analysis/synonym.txt
elérési úttal (a konfigurációs helyhez viszonyítva).
Supergiant by Qbox: az első adatközpont teljes ellenőrzési rendszer, amely megkönnyíti, hogy akár 60% – ot takarítson meg az AWS számláján.
"analyzer": { "filter_synonyms": { "filter": , "tokenizer": "keyword" } }
láthatjuk, hogy két szinonimát adtunk a kék és az arany színekhez. Amikor a felhasználó "cobalt dress"
kifejezésre keres, az elastic visszaadja a hatókört "cobalt"
színes szinonimákkal "blue, Blue, blue-gold, dark blue/black/charcoal, duke blue, jade blue, scottsdale blue, blue/white/khaki, pacific blue"
. Például létrehozhat egy lekérdezést, és szinonimák nélkül tesztelheti, majd hozzáadhatja az "filter_synonyms"
elemzőt.
3) teszteljük az egyéni stopwords szűrő:
mint a második:
"hits" : { "total" : 36165,"max_score" : 0.62592113}
további információk
ugyanazon szinonima token szűrő használata mind az index, mind a keresési időben felesleges. Ha az index időben az aranyat az arany-kék és az arany kifejezéssel helyettesítjük,akkor a keresési időben csak az egyiket kell keresnünk. Alternatív megoldásként, ha nem használunk szinonimákat az index idején, akkor az arany lekérdezést a keresési időben arany vagy arany-kék lekérdezéssé kell konvertálnunk.
0 hozzászólás