将id IN(1,2,...)添加到弹性搜索查询并按每个ID聚合计数

时间:2017-02-06 15:32:09

标签: php elasticsearch full-text-search

我有一个ES查询:

GET /myindex/_search
{
    "query": {
        "query_string" : {
            "default_field" : "content",
            "query" : "this AND that OR thus"
        }
    }
}

我想

  1. 将结果限制为特定的user_ids(过滤?)
  2. 汇总每个user_id的计数
  3. 因此类似的MySQL查询将是SELECT user_id, COUNT(*) WHERE user_id IN (1, 2, ...) AND (content LIKE '%this%' ...) GROUP BY user_id

    • _id不是我想要分组的user_id和聚合计数,它是一个内部字段。

    我如何在ElasticSearch中执行此操作?

1 个答案:

答案 0 :(得分:1)

您可以在 Old SKU New SKU All New SKU 00080 00080 1 00606 24264 2 00606 98952 3 00644 16814 4 00721 58008 5 00753 01929 6 字段上使用terms个查询和另一个terms聚合,如下所示:

user_id