У вас есть два варианта.С вашим текущим отображением вы можете использовать два запроса диапазона , например:
{
"query": {
"bool": {
"filter": [
{
"range": {
"street_number_1": {
"lte": 112
}
}
},
{
"range": {
"street_number_2": {
"gte": 112
}
}
}
]
}
}
}
Второй вариант предполагает изменение вашего отображения для использования целого диапазона для улицычисло.Определите свое сопоставление номеров улиц следующим образом:
PUT addresses
{
"mappings": {
"_doc": {
"properties": {
"street_number": {
"type": "integer_range"
}
}
}
}
}
Затем индексируйте свой адресный документ следующим образом:
PUT addresses/_doc/1
{
"street_number" : {
"gte" : 100,
"lte" : 120
}
}
И, наконец, запросите его следующим образом:
POST addresses/_search
{
"query" : {
"term" : {
"street_number" : {
"value": 112
}
}
}
}