käytä synonyymejä elasticsearch

ratkaisu 1: vaatii muutoksia muokattuun analysaattoriin ja lisää, että kentän nimessä

kohta 1: lisätään pienet kirjaimet tokenizer kartoituksessa

tyhjämerkit tokenizer eivät muuttaisi tokenizeria pieniksi kirjaimiksi. Synonyymiluetteloon olet lisännyt 'Television', mutta kyselet 'television'.

lisää pieni Symbolisuodatin kartoitukseesi seuraavasti ja kyselysi antaa sinulle odotetun tuloksen.

kohta 2: Lisää analysaattori kenttään-nimi

Tarkista prd_name miten olen luonut alla olevasta kartoituksesta. Huomaa, että olen lisännyt analysaattorin siihen.

kartoitus

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 } } } } } }}

huomaa, että mikä tahansa kartoitusmuutos vaatisi indeksin uudelleen luomista ja asiakirjojen uudelleenkäyttöä.

varmista, että synonyymitiedostosi on saatavilla kaikissa solmuissa.

Kerro, jos se auttaa.

Ratkaisu 2: Määrittele oletusanalysaattori

jos et pysty muuttamaan kentän kartoitusta, voit luoda analysaattorin, jonka nimi on default asetuksissa

periaatteessa määrittelemällä default analysaattorin asetukset täsmälleen samoin kuin analysaattori synonym.

näin se olisi oletusanalysaattori, jota käytettäisiin standard analysaattorin sijaan eikä vaadi muutoksia kentän nimen kartoitukseen.

alla on, miten kartoitus olisi siinä tapauksessa.

kartoitus

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 } } } } } }}

huomaa, että olen yksinkertaisesti nimennyt synonym default kartoituksessa.

Tärkeä huomautus: jotenkin kaikki tiedot pitäisi rekonstruoida, jotta muutokset olisivat voimassa. Siinä tapauksessa, jos et keksiä tarvitse muuttaa kartoitusta, reindex kaikki tiedot, ja voit tehdä mitä tahansa haluat w. r. t kentän nimet, niin suosittelen vahvasti ratkaisu 1.

Let me know if this helps 🙂

Vastaa

Sähköpostiosoitettasi ei julkaista.

Related Posts