PrefixQuery с учетом регистра? - PullRequest
       4

PrefixQuery с учетом регистра?

2 голосов
/ 09 февраля 2011

У меня есть неотмеченное поле в индексном файле.Я использую PrefixQuery , чтобы получить значения.Я использую это для автоматического предложения (когда я дам ключевое слово, оно начнет предлагать соответствующие данные).

Например: Имя поля - «Страна».Он содержит список стран в качестве значений, таких как Австралия, Америка, Индия, Сингапур, Южная Африка, Новая Зеландия ... ( С регистром заголовка )

Когда я даю строку запроса (ввод) как 'a' , он не предлагает никаких стран .. Вместо этого, если я даю 'A' означает, что он предлагает Австралию, Америку ...

я могу преодолеть эту проблему Case?Что не так с этим ??

Мы ценим вашу помощь ...

Спасибо

Perumal AS

1 Ответ

1 голос
/ 09 февраля 2011

С http://wiki.apache.org/lucene-java/LuceneFAQ#Are_Wildcard.2C_Prefix.2C_and_Fuzzy_queries_case_sensitive.3F

Чувствительны ли к регистру запросы символов Wildcard, Prefix и Fuzzy?

Нет, не по умолчанию. В отличие от других типов запросов Lucene, Wildcard, Prefix, и нечеткие запросы не передаются через анализатор, который является компонент, который выполняет операции такие как stemming и нижний регистр. причина пропуска анализатора что если вы ищете "собаки *" Вы не хотели бы сначала "собак" остановился на «собаку», так как это будет затем сопоставьте «собака *», которая не является предполагаемый запрос. Эти запросы без учета регистра в любом случае, потому что QueryParser делает их строчными. это поведение можно изменить с помощью setLowercaseExpandedTerms (булево) способ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...