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

2017-10-27 10:36:38 +08:00
 hagezhou
如果使用

{
"query": {

"match_all": {}
},

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

{
"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 12:18:48 +08:00
@dobelee 如果我的值是 url,比如 http://123.456.789.0/index,返回出来的 key 就给切分了,切成了 http 一个 key,123.456.789.0 一个 key,index 一个 key,这个怎么破?
hagezhou
2017-10-27 12:24:06 +08:00
@vindurriel 同问 4 楼的问题,谢谢
springmarker
2017-10-27 12:28:50 +08:00
dobelee
2017-10-27 12:54:53 +08:00
@hagezhou 你可能需要索引时指定不分词。keyword。

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

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

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

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

© 2021 V2EX