弹性搜索查询以确定2个映射的范围

时间:2018-09-10 09:14:29

标签: elasticsearch

嗨,我想进行x大于min_rent且x小于max_rent的查询。 这里是映射。

'mappings' => [
                    'project_listing_v1' => [
                        'properties' => [
                            'location' => [
                                'type' => 'geo_point'

                            ],
                            'min_rent'=>[
                                'type'=>'short',
                            ],
                            'max_rent'=>[
                                'type'=>'short',
                            ]
                        ]

1 个答案:

答案 0 :(得分:0)

您可以使用带有must子句的布尔查询,如下所示:

GET project_listing_v1/_search
{
  "query": {
    "bool": {
      "must": [
       {
          "range": {
            "min_rent": {
              "gt": x
            }
          }
       },
       {
          "range": {
            "max_rent": {
              "lt": x
            }
          }
        }
      ]
    }
  }
}

注意:您必须用实际值替换查询中的'x'。

有关布尔查询的更多信息:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html