Я проиндексировал 726719-B21 в текстовом поле, на котором я применил ниже анализаторы.Проблема с поиском Solr с разделителями дефисов «-»
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<charFilter class="solr.HTMLStripCharFilterFactory"/>
<charFilter class="solr.MappingCharFilterFactory" mapping="mapping-ISOLatin1Accent.txt"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
Теперь, когда я искать это слово дефис работает как разделитель так он будет получать результаты, которые содержат , а также B21. Мне нужен только результат, который имеет 726719-B21.
Как использовать/настроить WordDelimiterFilterFactory слово поиска 726719-B21?
Как я могу это достичь? Пожалуйста, предложите.
Я уже пробовал с WhitespaceTokenizerFactory, но не повезло. Моревр, я не могу добавить его в поле строки или StrField. Потому что требование - искать в нижнем регистре. – Ankita
@Ankita Помните, что после изменения токенизатора вам придется переиндексировать любой контент, а мое другое предложение с KeywordTokenizer сохранит значение as-is, но с возможным строчным фильтром, чтобы сделать его нечувствительным к регистру. – MatsLindh