эластику. Тело поискового запроса следующее:
{
"query": {
"query_string": {
"fields": ["258"],
"query": "*toco*"
}
}
}
В результате получаю одну запись, где полный текст в поле "258" - "[PhotoComment]". Если же паттерн поиска такой:
{
"query": {
"query_string": {
"fields": ["258"],
"query": "*omme*"
}
}
}
то ничего не находится. Подскажите, почему так?
Начнём с того, что не используйте вайлдкард
Вам в сторону n-gram
У вас прям в запросе wildcard search. Не делайте так
Вот полный текст запроса: curl -XPOST 'localhost:9200/_search?pretty' -d ' {"query": { "query_string": { "fields": ["258"], "query": "*omme*" } } }'
Как вопрос решится, можно меня пингануть. Тоже интересно почему разные результаты
Выяснил, что причина не в двойной 'mm', а в сочетании 'me'. У меня еще анализатор имеет такую настройку "eng_stopwords": { "type": "stop", "stopwords": "me" } Это как-то влияет на результаты поиска?
Решился вопрос. Дело было в фильтре с типом snowball и языком English. Он у некоторых слов с окончанием ment это самое окончание отбрасывает.
Вы идёте не в ту сторону, вайлдкард запросы - выстрел в ногу в будущем (а может и уже)
Я Вам же писал про вайлдкард. Либо я что-то не понимаю, либо Вы не читаете моих сообщений.
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wildcard-query.html
Тогда я по прежнему не понимаю как работает этот кейс. Какие значения мин и макс нужно поставить, что б в первом случае был результат, а во втором нет
https://www.elastic.co/guide/en/elasticsearch/reference/current/elasticsearch-intro.html
Обсуждают сегодня