Używam analizator śnieżki w moim poszukiwaniu ciąg kwerendy ... jak takElasticsearch z analizatorem śnieżki zwraca jedynie wyniki dla wynikała słowa
"query" : {
"query_string" : {
"query" : the-query-string-goes-here,
"default_operator" : "AND",
"analyzer" : "snowball"
}
}
to faktycznie działa, ale robi coś dziwnego ... szukając " walka "zwróci wyniki dla" walki ", ale ignoruje wyniki dla" walki ". Poszukiwanie "załogi" zwróci wyniki dla "załogi", ale nie "załogi", również poszukiwanie "załogi" również ignoruje wyniki dla "załóg" ...
Ktoś wie, co się dzieje?
Czy rozwiązałeś? Czy mogę wiedzieć, czy moja odpowiedź była przydatna? – javanna
Ustawiłem domyślny analizator jako kulę śnieżną i to się nią zajęło, ale nadal nie rozumiem, dlaczego samo ustawienie jej w ciągu zapytania nie zadziałało. Czym różni się indeksowanie, że wyszukiwanie walki w jednym przypadku (domyślny analizator ustawiony jest na kulę śnieżną) może faktycznie wywołać post "walczący", ale drugi (po prostu podając go w ciągu zapytania) nie ma. – concept47
Tak jak napisałem w mojej odpowiedzi, jeśli zastosujesz wyrażenie tylko w czasie zapytania, skończysz wyszukiwanie łodyg w polu, które nie zostało wyparte podczas indeksowania. Cieszę się, że rozwiązałeś! – javanna