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