Я пытаюсь rescore моих результатов запроса с помощью вложенного запроса, но я получаю следующее исключение, которое я считаю, означает, что rescore не поддерживает вложенные запросы:Поддерживает ли поддерживаемые вложенные запросы поддержку rescore?
nested: ElasticsearchIllegalArgumentException[rescore doesn't support [path]];
это так?
Вложенные объекты содержат поле ключа, которое должно быть сопоставлено, и поле веса, которое должно использоваться как оценка. Вот запрос:
POST myindex/_search
{
"query" : {
"match" : {
"field1" : {
"query" : "my_query_string",
"type" : "boolean"
}
}
},
"rescore" : {
"window_size" : 50,
"query": {
"nested": {
"path": "path.to.nested.object",
"score_mode" : "avg",
"query": {
"function_score": {
"query":{
"constant_score": {
"query": {
"match": {
"path.to.nested.object.key": "my_query_string"
}
}
}
},
"script_score": {
"script": "doc['path.to.nested.object.weight'].value"
}
}
}
}
}
}
}
Он отлично делает, благодаря @keety! – kevad
Для записи: с использованием API-интерфейса python это отражается в том, что атрибут rescore для Query.search принимает объект pyes.query.Search, а не pyes.query.RescoreQuery. – kevad