lucene field.index проводное явление - PullRequest
1 голос
/ 08 марта 2012

когда я добавляю поле к документу так:

doc.add(new Field("name","Jack",Field.Store.YES,Field.Index.ANALYZED));

Я могу получить удар, когда я ищу имя: Джек

Однако, если я использую Field.Index.NOT_ANALYZED вместо Field.Index.ANALYZED, программа не может найти имя: Джек, почему?

Поскольку поле Field.Index.NOT_ANALYZED также проиндексировано, я думаю, что это поле доступно для поиска, но почему я ничего не могу найти?

1 Ответ

0 голосов
/ 08 марта 2012

должно работать.Но ваш анализатор запросов, вероятно, использует анализатор, который выполняет некоторые операции с вашими токенами (например, нижний регистр).Попробуйте использовать KeywordAnalyzer во время поиска.

Либо вы можете создать запрос самостоятельно:

Query q = new TermQuery(new Term("name", "Jack"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...