以下是我希望使用elasticsearch-rails的查询。 (该查询在Sense中工作)。我的目标是为具有名字以字母B开头的人的项目返回所有桶。我的第一个绊脚石是我无法弄清楚如何指定search_type应设置为count。
GET _search?search_type=count
{
"query": {
"prefix": {
"person": "B"
}
},
"aggs" : {
"facets" : {
"terms" : {
"field" : "person",
"size" : 0,
"order" : { "_term" : "asc" }
}
}
}
}
答案 0 :(得分:8)
根据this issue,这似乎尚不支持。
另一种方法是在查询中设置size: 0
,如下所示:
{
"size": 0, <--- add this
"query": {
"prefix": {
"person": "B"
}
},
"aggs" : {
"facets" : {
"terms" : {
"field" : "person",
"size" : 0,
"order" : { "_term" : "asc" }
}
}
}
}
值得注意的是,ES 2.0中search_type=count
将被弃用 is now deprecated ,建议只需简单如上所述,在您的查询中设置size: 0
。这样做会使您符合ES 2.0标准......至少对于该查询,即:)