Привет,
Я реализую функцию автозаполнения в Solr, и у меня есть одна проблема.
Для автозаполнения я использую
<fieldType name="text_auto" class="solr.TextField" sortMissingLast="true" omitNorms="true">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
Я думал, что LowerCaseFilter должен сделать регистр нечувствительным, но это не так. Фактически, только в нижнем регистре Token означает, что запрос типа «comput» приведет к «computer», а «Comput» нет.
На самом деле я хочу, чтобы Comput и Comput привели к компьютеру.
Я уже попробовал это:
<fieldType name="text_auto_low" class="solr.TextField" sortMissingLast="true" omitNorms="true">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
<fieldType name="text_auto_up" class="solr.TextField" sortMissingLast="true" omitNorms="true">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
</analyzer>
</fieldType>
По какой-то причине в нем тоже нет слов. Мой вопрос: почему и как я могу это исправить?