Итак, я воспроизвел проблему с предоставленным вами отображением и смог устранить ее с помощью Explain API и этой статьи о slop в запросах match_phrase.
Таким образом, ваш второй запрос дает результат, когда задано минимальное значение slop of 6
, как показано в результатах моего поиска.
Поисковый запрос
{
"query": {
"match_phrase": {
"title": {
"query": "over fox quick", "slop": 6 --> note 6
}
}
}
}
Аналогично, вам нужно дать minimum slop of 3
, чтобы получить результат поиска по вашему первому запросу.
В основном наклонное значение означает допустимое отклонение настраиваемого термина.
Пример: - ваш do c содержит Quick Brown fox jumps over the lazy dog
.
Quick
Brown
fox
jumps
over
the
lazy
dog
И если вы ищете fox quick over
как фразу, все они должны собраться вместе , для этого вам нужно переставить упомянутые токены выше.
Требуется минимальная замена 3, как показано ниже:
fox
и over
не нужно ничего менять, так как они уже в порядке и quick
нужно сделать 3 замены, чтобы прийти к ее исправлению t position.
Используя тот же метод, вы можете выяснить, почему для работы второго запроса требуется шесть помет.