如何设置" search_type"到"计算"在elasticsearch-rails?

时间:2015-08-16 23:38:38

标签: ruby-on-rails elasticsearch elasticsearch-rails

以下是我希望使用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" }
            }
        }
    }
}

1 个答案:

答案 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标准......至少对于该查询,即:)