Elasticsearch диапазон географического запроса расстояния - PullRequest
0 голосов
/ 25 сентября 2018

Привет для проекта Я пытаюсь вернуть пользователей из эластичного поиска, которые находятся на расстоянии range of 2km to 4km от поискового пользователя.Я использую приведенный ниже запрос `

{ 
  "size": 1000,
  "from": 0,
  "_source": "user_id",
  "query":{

    "bool":{
        "must_not": {
        "terms": {
            "user_id": []
        }
    },
      "filter":[
        {  
          "geo_distance_range":{  
            "from":"2km",
            "to": "4km",
            "location":{  
              "lon":-122.4194,
              "lat":37.7749
            }
          }
        } 
      ]
    }
  }
}`

Этот запрос deleted in elastic search version 6.3 - это версия, которую я использую.Может кто-нибудь, пожалуйста, помогите мне решить этот случай использования в упругом поиске 6.3?Агрегаты возвращают только количество пользователей в диапазоне, но я хочу вернуть полные результаты всех пользователей в диапазоне.

1 Ответ

0 голосов
/ 26 сентября 2018

Я не могу проверить это, но кажется разумным, что вы сможете комбинировать предложения must и must_not с geo_distance:

"query": {
  "bool": {
    "must_not": {
      "terms": {
        "user_id": []
      },
      "geo_distance": {
        "distance": "2km",
        "location": [-122.4194, 37.7749]
      }
    },
    "must": {
      "geo_distance": {
        "distance": "4km",
        "location": [-122.4194, 37.7749]
      }
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...