#elasticsearch
Вопрос:
Мне нужен запрос Elasticsearch, аналогичный этому, но с результатами, в которых нет слов до и после него:
GET /myindex/_search
{
"query": {
"bool": {
"must": [
{
"match_pharse": {
"title": "brown fox"
}
}
]
}
}
}
Если у меня есть такие индексированные данные, как это:
{"title":"brown Fox"}
{"title":"Brown and brave fox"}
{"title":"It's brown fox"}
{"title":"brave fox on tree"}
{"title":"no related result"}
Мой результат должен быть:
{"title":"brown Fox"}
{"title":"It's brown fox"}
{"title":"Brown and brave fox"}
Самое важное в моем результате то, что элементы без каких-либо дополнительных слов всегда должны появляться первыми, но я не знаю, почему у меня некоторые из них в более низком балле.
Я думаю, что я должен использовать should
в своем запросе для продвижения своих результатов, но я не знаю, что написать внутри него, чтобы продвигать результаты без каких-либо дополнительных слов до и после текста сверху.
Спасибо за вашу помощь
Комментарии:
1. Он работает с моими образцами фиктивных данных, которые я создал для проверки. Может быть, ES уже работает таким образом.
2. По умолчанию меньшие поля оцениваются выше. Таким образом, результат должен соответствовать вашим ожиданиям.