使用elastic.js查询与filter匹配的元素的数量?

我正在用elasticsearch构build一个排行榜。 我想使用下面的查询来查询所有有大于给定数量的文档:

{ "constant_score" : { "filter" : { "range" : { "totalPoints" : { "gt": 242 } } } } 

这是完美的工作 – elasticsearch适当地返回所有文件的点数大于242。但是,我真正需要的是匹配这个查询元素的数量。 由于我通过networking发送结果,如果查询只是返回计数,而不是匹配filter的所有文档,这将是有帮助的。

我如何获得elasticsearch仅报告与filter匹配的文档的数量?

编辑 :我知道我正在寻找的是设置search_typecount 。 但是,我不知道如何用elastic.js来做到这一点。 任何愿意倾诉他们build议的节点?

您可以使用查询types计数来达到这个目的:

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-search-type.html#count

这是一个应该帮助你的例子:

 GET /mymusic/itunes/_search?search_type=count { "query": { "filtered": { "query": { "match_all": {} }, "filter": { "range": { "year": { "gt": 2000 } } } } } } 
Interesting Posts