gpt4 book ai didi

elasticsearch - 为什么我在ElasticSearch搜索结果中得到一个额外的关键字

转载 作者:行者123 更新时间:2023-12-03 01:12:13 25 4
gpt4 key购买 nike

由于无法移动,我停留在ElasticSearch 6.8.6版中
我想找到一个特定类别中有多少个文档的计数。
所以我有一个聚合查询
我有一个值数组的映射

"categoryValues":{"type":"keyword"}
我有一个查询
 {
"_source": {
"excludes": ["content", "categoryValues", "categories"]
},
"query": {
"bool": {
"must": [{
"terms": {
"categoryValues.keyword": ["5aeb3714-6599-461c-9644-c3dfe12da513", "db87a0e5-2b67-430c-8c6b-5dac5ebe1883"]
}
}]
}
},
"highlight": {
"fields": {
"content": {}
}
},
"size": 0,
"aggs": {
"categories": {
"terms": {
"field": "categoryValues.keyword",
"size": 642
}
}
}
}
aggs的大小很大,因为我们需要获得所有
如您所见,我正在搜索两个关键字值
["5aeb3714-6599-461c-9644-c3dfe12da513", "db87a0e5-2b67-430c-8c6b-5dac5ebe1883"]
我的结果却返回3
   {
"took": 0,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 2,
"max_score": 0,
"hits": []
},
"aggregations": {
"categories": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [{
"key": "3b93a7af-282b-4689-8f23-884891a9cd26",
"doc_count": 2
}, {
"key": "5aeb3714-6599-461c-9644-c3dfe12da513",
"doc_count": 1
}, {
"key": "db87a0e5-2b67-430c-8c6b-5dac5ebe1883",
"doc_count": 1
}]
}
}
}
那关键是“3b93a7af-282b-4689-8f23-884891a9cd26”在做什么?
这是ElasticSearch错误吗?还是我做错了查询-由于关键字搜索应该准确,因此我看不到如何做错查询。

最佳答案

由于categoryValues可以是一个数组,因此该数组的所有值都将被汇总,这就是为什么还要获得3b93a7af-282b-4689-8f23-884891a9cd26的原因。查看doc_count(2),它可能包含在两个匹配的文档中。
您可以对想要在聚合响应中看到的filter the values进行操作:

"aggs": {
"categories": {
"terms": {
"field": "categoryValues.keyword",
"size": 642,
"include": ["5aeb3714-6599-461c-9644-c3dfe12da513", "db87a0e5-2b67-430c-8c6b-5dac5ebe1883"]
}
}
}

关于elasticsearch - 为什么我在ElasticSearch搜索结果中得到一个额外的关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63920451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com