Я пытаюсь выполнить поиск с пользовательскими функциями, чтобы изменить оценку документа. У меня есть отображение с специальностями, хранящихся в больнице и каждый специальность имеет приоритет с ним: Что-то вроде:Elikesearch пользовательские функции оценка
hospital:{
name: 'Fortis',
specialities: [
{
name: 'Cardiology',
priority: 10
},
{
name: 'Oncology',
priority: 15
}
]
}
Теперь у меня есть функция оценка:
functions: [{
filter: {terms: {'specialities.name' => params[:search_text]}},
script_score: {script: "_score * doc['specialities.priority'].value"}
},
У меня есть запрос фильтра чтобы соответствовать поисковому тексту любой специальности. Как если бы я искал Oncology, он будет соответствовать, и тогда я определил script_score, чтобы перенять эту специальность и добавить ее к окончательной оценке документа.
Но оно принимает приоритет первой специальности он сталкивается, что это 10 и 1 балл для фильтра согласованного и конец Счета 11 не 21 (приоритет онкология +-для соответствия фильтра)