ElasticSearch 中如何获取某个字段的所有值?

2017 年 10 月 27 日
 hagezhou
如果使用

{
"query": {

"match_all": {}
},

"_source": "字段名",
"from": 0,
"size": 2000
}
'
是可以拿到所有的值的,但是会把所有的数据都列出来,包括每一个 id 的数据,不同的 id 重复的也会列出来,如果我只想要某个字段的不重复的值,该怎么写呢
14072 次点击
所在节点    Elasticsearch
7 条回复
est
2017 年 10 月 27 日
aggs
vindurriel
2017 年 10 月 27 日
1 需要能访问 google 2 需要把你的问题翻译成英文关键词 比如 elasticsearch unique value 3 在结果里找 stackoverflow.com 得票最高的答案 4 如果没找到回到 2
dobelee
2017 年 10 月 27 日
注意关注文档

{
"aggs" : {
"your_aggs" : {
"terms" : { "field" : "your_id" }
}
}
}

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-terms-aggregation.html
hagezhou
2017 年 10 月 27 日
@dobelee 如果我的值是 url,比如 http://123.456.789.0/index,返回出来的 key 就给切分了,切成了 http 一个 key,123.456.789.0 一个 key,index 一个 key,这个怎么破?
hagezhou
2017 年 10 月 27 日
@vindurriel 同问 4 楼的问题,谢谢
springmarker
2017 年 10 月 27 日
dobelee
2017 年 10 月 27 日
@hagezhou 你可能需要索引时指定不分词。keyword。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/401133

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX