Я предполагаю, что «SF» является фильтром Стемминга — фильтр удалит общие окончания, чтобы «машина» соответствовала «машинам», сохраняя «машину» в качестве общего термина в индексе. Пока поиск выполняется как при индексировании, так и при запросе, вы должны получить результат, который ищете.
EdgeNGramFilter хранит токен для каждой дополнительной буквы в токене, поэтому вы получаете токен (который будет соответствовать токену запроса) для каждой дополнительной буквы (где ваш фильтр, похоже, настроен на 3 как минимальный размер ngram).
Если при поиске вы также не выполняете выделение корней, запрос machine
не найдет совпадающих терминов, поскольку токен после индексации был сохранен как machin
.
Используйте раздел «запрос» и «индекс» на странице анализа, чтобы увидеть, как анализируется и обрабатывается каждая часть, и понять, почему они не заканчиваются одинаковыми терминами с обеих сторон (конечные токены с обеих сторон сравниваются). , и если они одинаковые, есть совпадение - это показано на слегка затемненном фоне в интерфейсе IIRC).
person
MatsLindh
schedule
17.02.2017