szinonimák használata az elasticsearch-ben

1.Megoldás: meg kell változtatni az egyéni analizátort, és hozzá kell adni, hogy a mező neve

1. pont: kisbetűs tokenizer hozzáadása a mapping-ben

szóköz tokenizer nem konvertálná a tokeneket kisbetűvé. A szinonimák listájához hozzáadta a 'Television' értéket, de a 'television'lekérdezést kéri.

adjon hozzá kisbetűs Token szűrőt a leképezéshez az alábbiak szerint, és a lekérdezés megadja a várt eredményt.

2. pont: Adja hozzá az analizátort a mezőnév

ellenőrizze a prd_name mint hogyan hoztam létre az alábbi leképezésben. Figyelje meg, hogy hozzáadtam az analizátort.

leképezés

PUT products{ "settings":{ "index":{ "analysis":{ "analyzer":{ "synonym":{ "tokenizer":"whitespace", "filter": } }, "filter":{ "synonym":{ "type":"synonym", "synonyms_path":"analysis/synonym.txt" } } } } }, "mappings":{ "mydocs":{ "properties":{ "prd_name":{ "type":"text", "analyzer":"synonym", "fields":{ "keyword":{ "type":"keyword", "ignore_above":256 } } } } } }}

vegye figyelembe, hogy a leképezés módosításához újra létre kell hoznia az indexet, és újra be kell vennie a dokumentumokat.

győződjön meg arról, hogy a szinonima fájl minden csomópontban elérhető.

tudassa velem, ha segít.

2. megoldás: Újradefiniálja az alapértelmezett analizátort

abban az esetben, ha nem tudja megváltoztatni a mező leképezését, akkor mit tehet, hozzon létre egy analizátort default névvel a beállításokban

alapvetően újradefiniálja a defaultanalizátort a beállításokkal pontosan úgy, mint az analizátor synonym.

így az alapértelmezett analizátor lenne a standard analizátor helyett, és nem igényel változást a mezőnév leképezésében.

az alábbiakban bemutatjuk, hogyan lenne a leképezés ebben az esetben.

leképezés

PUT <your_index_name>{ "settings":{ "index":{ "analysis":{ "analyzer":{ "default":{ "tokenizer":"whitespace", "filter": } }, "filter":{ "synonym":{ "type":"synonym", "synonyms_path":"analysis/synonym.txt" } } } } }, "mappings":{ "mydocs":{ "properties":{ "prd_name":{ "type":"text", "fields":{ "keyword":{ "type":"keyword", "ignore_above":256 } } } } } }}

vegye figyelembe, hogy a leképezés során egyszerűen átneveztem synonym – t default – ra.

fontos megjegyzés: valahogy újra kell küldenie az összes adatot, hogy a módosítások életbe lépjenek. Abban az esetben, ha felmerül a leképezés megváltoztatása, az összes adat újraindexelése, és bármit megtehet, amit w.r.t mezőneveket szeretne, akkor erősen javaslom az 1.megoldást.

tudassa velem, ha ez segít 🙂

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.

Related Posts