Я ищу средство для поиска подстроки внутри фразы или текста. Я знаю, что могу использовать токенайзер ngram
и установить min-gram
и max-gram
для достижения этой цели. Но так как эластичный поиск показывает предупреждение об устаревании, если минимальное и максимальное значение ngram больше единицы, я ищу другую тренировку. Например, у меня есть следующие тексты:
Fox is a animal
The quick fox is cunning
Fox is quick
Теперь я хочу выполнить поиск nim
, чтобы получить первый документ. Поиск по fox
даст все три результата. Поиск по quick fox
даст два последних. Я достиг этого результата, используя токенайзер ngram
с min-gram
и max-gram
.
Я использовал фильтр со значением min-gram
2 и значением max-gram
8 для моего analyzer
. И в моем search-analyzer
я использовал токенизатор whitespace
для достижения того, чего я хочу. Есть ли какой-нибудь другой способ достижения того же результата без использования разницы min-gram
и max-gram
больше, чем на единицу. Проблема с этим решением заключается в том, что выводится предупреждение об устаревании для ngram
разницы более одного.