Elasticsearch около значения запроса - PullRequest
0 голосов
/ 15 мая 2018

У меня есть 100 документов с ценой поля от 1000 до 10000

Например: я хочу запросить 4 документа с ценами около 5000, ожидаемые значения могут быть более или менее 5000.

Если я установлю диапазоны, это может иногда давать мне пустые результаты, потому что оно не находит результатов между моими максимальными и минимальными значениями.

Я могу запросить его с большими значениями min и max, но я не думаю, что это правильное решение.

Также я пробовал Span-запросы , но он не поддерживает числовые значения

Есть ли способ сделать это вasticsearch 6.0?

1 Ответ

0 голосов
/ 15 мая 2018

Есть как минимум два способа сделать это.

1: сделайте range query сверх цены, равной 5000 плюс или минус некоторая константа. Добавьте sort в свой запрос на основе их расстояния от указанной цены (5000 в вашем случае). Ссылка

2: Используйте function_score для вычисления оценки каждого совпадения в запросе диапазона с функцией, предназначенной для вычисления абсолютного расстояния от цены 5000. Ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...