Я хочу реализовать автоматический поиск с помощью solr.Пользователь ищет имена людей.Автозаполнение выполняется NGrams.Это работает правильно, поэтому, когда я ищу "Caro", я нахожу "Caroline".То, что я хочу сделать сейчас, это отображение Char.Пользователь должен найти «Каролина», введя «Каро» в поиске.Таким образом, «к» будет сопоставлен с «с».Когда я выполняю поиск с помощью приведенной ниже конфигурации, я получаю пустой результат путем поиска "Karo" или "Karoline" (работает "Caro").
Я создал файл mapping.txt со следующим содержанием:
"k" => "c"
Вот моя конфигурация поля:
<fieldType name="string_wildcard" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="25" side="front"/>
</analyzer>
<analyzer type="query">
<charFilter class="solr.MappingCharFilterFactory" mapping="/home/martin/mapping.txt"/>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
</analyzer>
</fieldType>
Я надеюсь, вы можете мне помочь.Спасибо!