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

我使用ES v 1.7。ES仅在“命中”部分返回_score,但是我对“命中”不感兴趣,我需要 从响应的“聚合”部分中

。为什么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。_Score在聚合中为null。为什么? 的全部内容, 来源链接: utcz.com/qa/431479.html

回到顶部