Solr 'текстовые' поля, не принимающие подстановочные знаки - PullRequest
1 голос
/ 15 апреля 2010

Я пытаюсь найти в поле, объявленном как 'text', используя подстановочный знак '*', но получаю смешанные результаты. По сути, мне кажется, что он удаляет символ '*' и плохо обрабатывает числа или пробелы.

Я использую 'text' тип поля для нечувствительных к регистру полей , но после запуска анализа я начинаю думать, что это может быть неправильный тип, поскольку он запускает намного больше фильтров по сравнению с строковое поле. По сути, все, что мне нужно, это тип поля, который может индексировать или выполнять поиск в нижнем регистре только с удаленными пробелами (и работает с подстановочными знаками). Доступен ли такой тип?

Спасибо МАРКО

1 Ответ

1 голос
/ 15 апреля 2010

Если вы посмотрите на свой файл solrconfig.xml, вы увидите определение вашего «текстового» типа. Вы должны увидеть WhitespaceTokenizerFactory в качестве первого токенизатора. Это указывает на то, что содержимое полей вырезано на пробелах. Внизу списка вы должны иметь фильтр LowerCaseFilterFactory. Это будет в нижнем регистре все слова. Если у вас есть по крайней мере эти два для индекса и анализатора запросов для типа «текст», все должно быть в порядке.

Если у вас проблемы с числами, взгляните на настройки фильтра WordDelimiterFilterFactory. Настройки generateNumberParts могут быть не такими, как вы хотите.

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