Необходимо найти способ в ElasticSearch, чтобы повысить релевантность документа на основе определенного значения поля. В частности, во всех моих документах есть специальное поле, где чем выше значение поля, тем более актуальным должен быть документ, содержащий его, независимо от поиска.
Рассмотрим следующую структуру документа:
{
"_all" : {"enabled" : "true"},
"properties" : {
"_id": {"type" : "string", "store" : "yes", "index" : "not_analyzed"},
"first_name": {"type" : "string", "store" : "yes", "index" : "yes"},
"last_name": {"type" : "string", "store" : "yes", "index" : "yes"},
"boosting_field": {"type" : "integer", "store" : "yes", "index" : "yes"}
}
}
Я бы хотел, чтобы документы с более высоким значением boosting_field были по своей сути более релевантными, чем те, у которых более низкое значение boosting_field. Это всего лишь отправная точка - сопоставление между запросом и другими полями также будет приниматься во внимание при определении окончательной оценки релевантности каждого документа в поиске. Но, при прочих равных условиях, чем выше поле форсирования, тем более актуальным является документ.
У кого-нибудь есть идея, как это сделать?
Спасибо большое!