由于您正在使用排序,因此您需要为要计算的分数显式设置“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 } } } } } }解决方法
我使用ES v 1.7。ES仅在“命中”部分返回_score,但是我对“命中”不感兴趣,我需要 使用_score 从响应的“聚合”部分中
获取数据 。为什么ES会喜欢这样,以及如何解决?
Requset:
{ "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","_id": "AVFtQCCtSH3HWHh0wItF","_score": null,"_source": { "creationDate": "2015-12-04T13:48:17.949Z","ObjectID": 26745417,"ObjectData": {"BRIEFNAME": "Верный-Преверный В. В."} },"sort": [1449236897949] }] }} },... ] }} }
评论列表