如何做ElasticSearch Select Distinct

时间:2016-11-02 13:36:24

标签: elasticsearch

我只想用elasticsearch做以下请求。

在SQL中:

Select distinct(id) from my_table where userid = '20' or activity = '9';

我只是:

{
   "query" : {
        "bool" : {
               "should" : [ 
                  { "term" : { "userid" : "20" } }, 
                  { "term" : { "activity" : "9" } }
               ]
         }
    }
}

提前致谢:)

2 个答案:

答案 0 :(得分:18)

你几乎就在那里,你只需要在查询中添加terms aggregation

&

答案 1 :(得分:0)

文本字段未针对需要按文档字段数据(如聚合和排序)的操作进行优化,因此默认情况下禁用这些操作。请改用关键字字段。或者,设置 fielddata=true

请使用以下代码片段。

"field": "id.keyword"