【问题标题】:Elastic Search Distinct values弹性搜索不同的值
【发布时间】:2015-03-18 04:30:22
【问题描述】:

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

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    使用聚合:

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

    【讨论】:

    • 感谢您的回复好友。你能告诉我一步一步学习这些查询的方法吗? ElasticSearch.org 就像一本字典,您应该确切地知道您在寻找什么。
    • 阅读this 书。从上到下。它包含一些非常好的信息,最重要的是,解释了 ES 的工作原理。
    • 这对于高基数字段来说可能是非常昂贵的。如果您对 98-100% 的准确率和较低的内存影响感到满意,请查看基数指标。
    • 谢谢,我试过了,但它给了我所有的记录
    【解决方案2】:

    您可以使用Cardinality 指标

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-28
      • 1970-01-01
      • 2016-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多