2014-10-27 120 views
0

我很想知道如何爲重要術語聚合查詢添加範圍。例如:ElasticSearch - 重要術語聚合範圍

{ 
    "query": { 
    "terms": { 
     "text_content": [ 
      "searchTerm" 
      ] 
    }, 
"range": { 
    "dateField": { 
    "from": "date1", 
    "to": "date2" 
    } 
    } 
}, 
"aggregations": { 
    "significantQTypes": { 
     "significant_terms": { 
      "field": "field1", 
      "size": 10 
     } 
    } 
}, 
"size": 0 
} 

將不起作用。有關如何指定範圍的任何建議?

回答

1

而不是使用範圍查詢,使用範圍過濾器作爲相關性/分數似乎不在你的情況。

然後,爲了將您的查詢與range篩選器結合使用,您應該使用filtered查詢(請參閱documentation)。

嘗試這樣:

{ 
    "query": { 
    "filtered": { 
     "query": { 
     "terms": { 
      "text_content": [ 
      "searchTerm" 
      ] 
     } 
     }, 
     "filter": { 
     "range": { 
      "dateField": { 
      "from": "date1", 
      "to": "date2" 
      } 
     } 
     } 
    } 
    }, 
    "aggs": { 
    "significantQTypes": { 
     "significant_terms": { 
     "field": "field1", 
     "size": 10 
     } 
    } 
    }, 
    "size": 0 
} 

希望這有助於!

+0

這就是我一直在尋找的!非常感謝! – Crista23 2014-10-28 09:37:25

相關問題