Вы используете KeywordTokenizer
на стороне запроса.KeywordTokenizer ничего не делает - то есть он не разделяет входную строку, вводя несколько токенов.Фильтр остановки работает с токенами, и, поскольку вся входная строка теперь составляет один большой токен , ни один из токенов не соответствует списку стоп-слов.
Учитывая the input string
, это будет разбитона три токена при индексации по StandardTokenizer
: the
, input
и string
.the
обычно считается стоп-словом и удаляется, и в результате вы получаете input
и string
в своем индексе.
Когда вы запрашиваете и вводите the input string
, KeywordTokenizer ничего не делаеткроме как хранить все как один токен, поэтому StopFilter видит только the input string
.Это не соответствует никаким стоп-словам (если только у вас не было всей строки в качестве стоп-слова само по себе), и ничего не удаляется.
Вам придется использовать токенизатор, который разбивает строку на отдельные токены, если этоповедение, которое вы хотите, StandardTokenizer
или WhitespaceTokenizer
, вероятно, хорошие варианты.