2017-03-06 48 views
3

我是ElasticSearch的新手。目前我正在研究彈性搜索中的排序和範圍函數。我的要求是根據身高和高度範圍應在150毫米到180毫米之間對匹配(屬於會計部門的)員工進行排序。 這裏是我的查詢:彈性搜索合併排序和範圍函數

{ 


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

但是在這裏我得到SearchPhaseExecutionException。 請幫忙!!

回答

2

您可以使用過濾功能如下:

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

這個工作對me.Thanks KayV – kartik