弹性搜索不同的值

时间:2014-10-04 07:46:18

标签: elasticsearch

我想知道如何在弹性搜索中获得字段的不同值。我在这里阅读了一篇文章,展示了如何用facet做到这一点,但我读过的方面已被弃用:
http://elasticsearch-users.115913.n3.nabble.com/Getting-Distinct-Values-td3830953.html
还有其他办法吗?如果不是可以告诉我该怎么做?很难理解这样的解决方案:Elastic Search - display all distinct values of an array

2 个答案:

答案 0 :(得分:10)

使用聚合:

GET /my_index/my_type/_search?search_type=count
{
  "aggs": {
    "my_fields": {
      "terms": {
        "field": "name",
        "size": 1000
      }
    }
  }
}

答案 1 :(得分:1)

您可以使用Cardinality指标

虽然返回的计数不能保证100%准确,但它们几乎总是用于低基数术语,精度可通过precision_threshold参数进行配置。

http://www.elastic.co/guide/en/elasticsearch/guide/current/cardinality.html