弹性搜索合并排序和范围函数

时间:2017-03-06 08:02:58

标签: elasticsearch

我是ElasticSearch的新手。目前我正在从事弹性搜索中的排序和范围功能。我的要求是根据高度对匹配(属于会计部门)员工进行排序,其高度范围应在150毫米到180毫米之间。 这是我的疑问:

{


"query": { "match": {"department" : "accounts"} },
  "sort" : {
    "height" : {
      "range" : {
        "gte": "150",
        "lte": "180"
      }
    }
  }
}'

但是我在这里得到了SearchPhaseExecutionException。 请帮忙!!

1 个答案:

答案 0 :(得分:2)

您可以按如下方式使用过滤后的功能:

{
"sort":{"height": "asc"},
  "query": {
    "filtered": {
      "query": { "match": {"department" : "accounts"} },
      "filter": {
        "range": {
          "height": {
            "gte": 150,
            "lte": 180
          }
        }
      }
    }
  }
}'