Как определить тип поля с игнорированием регистра и пробелок - PullRequest
1 голос
/ 14 декабря 2011

Я хотел бы определить тип поля в Solr, который должен иметь следующие свойства

Пропустить регистр при поискеразбивает строку на пробелы: - (

1 Ответ

0 голосов
/ 14 декабря 2011

Вам необходимо изменить используемые токенизаторы.Основываясь на странице Analyzers / Tokenizer в Solr Wiki, я бы рекомендовал использовать KeywordTokenizerFactory, как это определено следующим образом: "Обрабатывает все поле как один токен, независимо от его содержимого".

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

 <fieldType name="text_lcnows" class="solr.TextField" positionIncrementGap="100">
   <analyzer type="index">
     <tokenizer class="solr.KeywordTokenizerFactory"/>
     <filter class="solr.LowerCaseFilterFactory"/>
   </analyzer>
   <analyzer type="query">
       <tokenizer class="solr.KeywordTokenizerFactory"/>
       <filter class="solr.LowerCaseFilterFactory"/>
   </analyzer>
 </fieldType>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...