这是我想使用 elasticsearch-rails 进行的查询。 (查询在 Sense 中有效)。我的目标是返回所有包含姓名以字母 B 开头的人的项目的桶。我的第一个绊脚石是我不知道如何指定 search_type 应该设置为计数。
GET _search?search_type=count
{
"query": {
"prefix": {
"person": "B"
}
},
"aggs" : {
"facets" : {
"terms" : {
"field" : "person",
"size" : 0,
"order" : { "_term" : "asc" }
}
}
}
}
最佳答案
根据 this issue , 这似乎还不受支持。
另一种可行的方法是在查询中简单地设置 size: 0
,如下所示:
{
"size": 0, <--- add this
"query": {
"prefix": {
"person": "B"
}
},
"aggs" : {
"facets" : {
"terms" : {
"field" : "person",
"size" : 0,
"order" : { "_term" : "asc" }
}
}
}
}
但值得注意的是,search_type=count
将被弃用 is now deprecated 在 ES 2.0 中,建议在您的查询中简单地设置 size: 0
,如上所述。这样做将使您符合 ES 2.0 标准……至少对于该查询而言,即 :)
关于ruby-on-rails - 如何在 elasticsearch-rails 中将 "search_type"设置为 "count"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32041000/