我试图将字段的前1个不同值作为
GET /indexName/test/_search?search_type=count
{
"aggs": {
"my_fields": {
"terms": {
"field": "col1",
"size": 10
}
}
}
}
这就是我得到的
{
"took": 2,
"timed_out": false,
"_shards": {
"total": 2,
"successful": 2,
"failed": 0
},
"hits": {
"total": 21030,
"max_score": 0,
"hits": []
},
"aggregations": {
"my_fields": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "",
"doc_count": 21030
}
]
}
}
}
总共我有21030
个记录,因此是doc_count。但这不是我期待的结果。我的查询有问题吗?
跟进:如果我想在应用过滤器后获得前10个值,该怎么办?
答案 0 :(得分:1)
您可以尝试基数指标。我认为它会解决你的问题。
GET /indexName/test/_search
{ “大小”:10, “aggs”:{ “distinct_colors”:{ “基数”:{ “field”:“col1” } } } }
答案 1 :(得分:1)
以下Lucene查询可用于获得前10个不同年份:
#DISTINCT
GET index_name/type_name/_search?size=10
{
"aggs":{
"distict_Year":{
"cardinality": {
"field": "Year"
}
}
}
}
答案 2 :(得分:0)
你也可以使用它,我认为这就是你要搜索的内容,
GET /bank/account/_search?search_type=count
{
"aggs": {
"my_fields": {
"terms": {
"field": "age",
"size": 10
}
}
}
}