我有一组符合特定查询的文档。在这些文档上,正在应用重新评分查询。即使在重新计分之后,仍有某些文档被捆绑在一起(具有相等的_score值)。对于此类资产,我想使用其他字段(例如date
字段)打破平局。我该怎么办?
尝试以下方法: 1.添加两个重新评分查询:original_rescore,后跟date_rescore。这会改变所有文档的分数,而不仅仅是捆绑文档的分数。 2. Elasticsearch不支持“重新评分后排序”。
{
"query": {
"match": {
"<MY_FIELD>": {
"minimum_should_match": "2<-25% 9<-3",
"query": "<MY_QUERY>"
}
}
},
"rescore": {
"query": {
"rescore_query": {
"bool": {
"should": [
{
"function_score": {
"field_value_factor": {
"field": "document.quality_score",
"missing": 0
}
}
}
]
}
},
"query_weight": 0.95,
"rescore_query_weight": 0.05
}
}
}
此查询:
1.查找所有与MY_QUERY匹配的文档(带有MY_FIELD)
2.根据document.quality_score
对此类资产进行评分。
如何向其添加排序/重新计算,以便可以根据新的查询/字段对所有绑定资产进行排序。