ElasticSearch-返回唯一值

我将如何languages从记录中获取所有值,并使它们唯一。

PUT items/1

{ "language" : 10 }

PUT items/2

{ "language" : 11 }

PUT items/3

{ "language" : 10 }

GET items/_search

{ ... }

# => Expected Response

[10, 11]

任何帮助都会很棒。

回答:

您可以使用术语聚合。

{

"size": 0,

"aggs" : {

"langs" : {

"terms" : { "field" : "language", "size" : 500 }

}

}}

搜索将返回如下内容:

{

"took" : 16,

"timed_out" : false,

"_shards" : {

"total" : 2,

"successful" : 2,

"failed" : 0

},

"hits" : {

"total" : 1000000,

"max_score" : 0.0,

"hits" : [ ]

},

"aggregations" : {

"langs" : {

"buckets" : [ {

"key" : "10",

"doc_count" : 244812

}, {

"key" : "11",

"doc_count" : 136794

}, {

"key" : "12",

"doc_count" : 32312

} ]

}

}

}

size聚合中的参数指定要包含在聚合结果中的最大术语数。如果需要所有结果,请将其设置为大于数据中唯一术语数的值。

以上是 ElasticSearch-返回唯一值 的全部内容, 来源链接: utcz.com/qa/403358.html

回到顶部