Во-первых, пожалуйста, включите соответствующие детали в свой вопрос в следующий раз, так как изображения трудны для поиска, затрудняют обзор вашего вопроса и их трудно читать тем, у кого нет идеального зрения.
По вашему актуальному вопросу проблема в том, что у вас есть WhitespaceTokenizer. Это будет только разрывать слова на пробелах, такие как
. Индексированный документ содержит ваш термин как (foo)
, что означает, что будет соответствовать только (foo)
(поскольку токенизатор only разрывается на пробел, а (
или )
не пробел).
foo (bar)
будет проиндексирован как два токена, foo
и (bar)
. Поиск по (bar
не будет совпадать ни с одним.
Используйте StandardTokenizer, чтобы получить желаемое поведение, или используйте WordDelimiterGraphFilterFactory, чтобы разбить слово на дополнительные токены.