Chciałbym określić analizator, nazwij go i użyj tej nazwy w odwzorowaniu podczas tworzenia indeksu. Jestem zagubiony, moja instancja ES zawsze zwraca mi komunikat o błędzie.Jak określić analizator podczas tworzenia indeksu w ElasticSearch
to, z grubsza, co chciałbym zrobić:
"settings": {
"mappings": {
"alfedoc": {
"properties": {
"id": { "type": "string" },
"alfefield": { "type": "string", "analyzer": "alfeanalyzer" }
}
}
},
"analysis": {
"analyzer": {
"alfeanalyzer": {
"type": "pattern",
"pattern":"\\s+"
}
}
}
}
Ale to nie wydaje się do pracy; instancja ES zawsze zwraca mi błąd jak
MapperParsingException[mapping [alfedoc]]; nested: MapperParsingException[Analyzer [alfeanalyzer] not found for field [alfefield]];
Próbowałem oddanie "analysis"
oddział słownika w kilku miejscach (wewnątrz odwzorowania itp), ale bezskutecznie. Wydaje mi się, że działający kompletny przykład (którego nie mogłem znaleźć do tej pory) również mi pomógłby. Prawdopodobnie brakuje mi czegoś podstawowego.
Tak, rzeczywiście, zapomniałam, że ostatnia klamra pod "Ustawienia". Zatem "ustawienia" i "odwzorowania" powinny składać się z 2 oddzielnych bloków, a "analiza" powinna być zawarta w bloku "ustawienia". –
Doskonałe linki do przykładów, dziękuję. – pulkitsinghal
Dzięki za linki, znalazłem to, czego potrzebowałem! Ale punkt, w którym mapowanie faktycznie określa, które analizatory użyć dla konkretnej właściwości, jest tym, co miałem najtrudniej znaleźć przykłady. Byłby to świetny dodatek do twojej odpowiedzi;) –