gpt4 book ai didi

elasticsearch - Elasticsearch 。 _Score 在聚合中为 null。为什么?

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

我使用 ES v 1.7。 ES 仅在“hits”部分返回 _score,但我对“hits”不感兴趣,我需要来自 with _score 响应的“aggregations”部分的数据。为什么 ES 会这样以及如何解决?

请求:

{
"size": 1,
"query": {
"bool": {
"must": [
{ "match": {"_all": {"query": "test","operator": "and","fuzziness": "2"}}}
],
"should": [
{ "multi_match" : {
"query": "test"
,"type": "best_fields"
,"fields": ["ObjectData.PRTNAME","ObjectData.EXTERNALID","ObjectData.contactList.VALUE","*SERIES","*NUMBER","ObjectData.INN"]
,"operator": "or"
,"boost": 3
}}
]
}
},
"aggs": {
"byObjectID": {
"terms": {"field": "ObjectID"},
"aggs": {
"latestVer": {
"top_hits": {
"sort": [{"creationDate": { "order": "desc" }}]
,"_source": { "include": ["ObjectData.BRIEFNAME", "creationDate", "ObjectID" ]}
,"size": 1
}
}
}
}
}
}

响应:

{
"took": 16,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 87,
"max_score": 5.3479624,
"hits": [ {
"_index": "crmws",
"_type": "participant",
"_id": "AVFtAkIcSH3HWHh0wIkd",
"_score": 5.3479624,
"_source": {
"mostRecentVersion": null,
"UserLogin": "ap",
"creationDate": "2015-12-04T12:40:43.292Z",
"_id": null,
"ObjectID": 26784418,
"EventID": null,
"version_id": 3798,
"ObjectTypeId": null,
"ObjectData": {...},
"ObjectTypeSysName": "participant",
"versionNumber": null
}
}]
},
"aggregations": {"byObjectID": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": 26745417,
"doc_count": 21,
"latestVer": {"hits": {
"total": 21,
"max_score": null,
"hits": [ {
"_index": "crmws",
"_type": "participant",
"_id": "AVFtQCCtSH3HWHh0wItF",
"_score": null,
"_source": {
"creationDate": "2015-12-04T13:48:17.949Z",
"ObjectID": 26745417,
"ObjectData": {"BRIEFNAME": "Верный-Преверный В. В."}
},
"sort": [1449236897949]
}]
}}
},
...
]
}}
}

最佳答案

由于您正在使用排序,因此您需要明确设置“track_scores”才能计算分数。

例子:

{
"size": 1,
"query": {
"bool": {
"must": [
{ "match": {"_all": {"query": "test","operator": "and","fuzziness": "2"}}}
],
"should": [
{ "multi_match" : {
"query": "test"
,"type": "best_fields"
,"fields": ["ObjectData.PRTNAME","ObjectData.EXTERNALID","ObjectData.contactList.VALUE","*SERIES","*NUMBER","ObjectData.INN"]
,"operator": "or"
,"boost": 3
}}
]
}
},
"aggs": {
"byObjectID": {
"terms": {"field": "ObjectID"},
"aggs": {
"latestVer": {
"top_hits": {
"sort": [{"creationDate": { "order": "desc" }}]
,"_source": { "include": ["ObjectData.BRIEFNAME", "creationDate", "ObjectID" ]}
,"size": 1,
'track_scores" : 1
}
}
}
}
}


}

关于elasticsearch - Elasticsearch 。 _Score 在聚合中为 null。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34175750/

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