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 default
analizá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 🙂