Запрос специального символа Lucene с последующим номером - PullRequest
0 голосов
/ 02 ноября 2019

У меня есть документ с полем для поиска. Значение этого поля: «CAM CAM Nursery Bag / Сумка для подгузников + Essentials Set Grey (6 предметов)»

Когда я выполняю поиск по этой точной фразе, я не получаю хитов, выполняю поиск по большинству ее частей. вернет его как хит. Специальные символы настраиваются с помощью: searchText = QueryParserBase.Escape(searchText);

Если я удаляю (6 из запроса, то он совпадает. Если я изменяю (6 => (a как в исходных данных, добавленных в документ, так и в запросе)оно совпадает.

Кажется, что Люцен не знает, как обрабатывать специальный символ, за которым следует число, но я не знаю, почему это будет иметь значение.

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

1 Ответ

0 голосов
/ 04 ноября 2019

Так что это был не тот случай, когда он не нашел (6 из-за специального кода. Я до сих пор не до конца понимаю, почему он мог найти (а если я изменил его на это. Но что угодно.

Проблема заключалась в том, что используемый мной EdgeNgramFilter имел значение minGram, равное 3, и поэтому поисковые термины, которым было 2 и меньше, нарушали наш код. Решение заключалось в том, чтобы удалить все это из поискового текста, прежде чем мы избежали поискового текста и перед тем, как проанализировалии обыскал его.

...