如何在elasticsearch-rails中将"search_type"设置为"count"?
How to set "search_type" to "count" in elasticsearch-rails?
这是我想要使用 elasticsearch-rails 的查询。 (查询在 Sense 中有效)。我的目标是 return 包含名字以字母 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
将在 ES 中被弃用 is now deprecated 2.0 和建议将是简单地设置 size: 0
在您的查询如上所述。这样做将使您符合 ES 2.0 标准……至少对于该查询而言,即 :)
这是我想要使用 elasticsearch-rails 的查询。 (查询在 Sense 中有效)。我的目标是 return 包含名字以字母 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
将在 ES 中被弃用 is now deprecated 2.0 和建议将是简单地设置 size: 0
在您的查询如上所述。这样做将使您符合 ES 2.0 标准……至少对于该查询而言,即 :)