Я пытаюсь написать собственный счет в Elasticsearch, который позволяет мне передавать количество слов в запросе в мои вычисления.Кажется, что это невозможно при использовании скриптового сходства или скрипта function_score.Скрипт Painless, приведенный ниже, - это то, к чему я стремлюсь, но я обнаружил, что не могу сделать это с помощью подобия в сценариях, поскольку не могу передать параметры в подобие сценария, насколько я знаю (params.queryPhraseLength в этомдело).Я думал, что смогу сделать это с помощью скрипта function_score, но обнаружил, что у скриптовых функций нет доступа к doc.length или query.boost ... опять же, насколько я знаю.Как мне этого добиться?
double length = params.queryPhraseLength; if(doc.length > params.queryPhraseLength){length = doc.length;} return 100 * query.boost * 1 / length