Допустим, у меня есть следующий индексированный документ:Elasticsearch запрос, чтобы найти диапазон перекрытия
{
"field1": [400, 800]
}
Я хочу создать запрос с помощью 2 параметров поиска (min_val = 300
и max_val = 500
), чтобы выбрать документы, где эти два диапазона перекрывается.
В моем примере выше документ должен быть выбран, как мы можем видеть:
300 500
[======================]
[=====================]
400 800
Что является наиболее эффективным способом, чтобы найти документы, которые перекрывают два числовых диапазонов? Я могу сделать это с помощью нескольких сравнений, и многие и и ors, но я ищу более простой и эффективный способ достижения этого.
Вы пробовали [диапазон] (https://www.elastic.co/guide/en/elasticsearch/reference/5.0/query-dsl-range-query.html) фильтр? – ChintanShah25