У меня возникают проблемы со специальными символами в поисковом запросе, отправленном на запрос solr. Когда я ищу номер детали 123-45, я должен получить 2 результата, т.е. 123-45 и 12345. Пожалуйста, дайте мне знать, как я могу это сделать, а также конфигурацию, которую мне нужно использовать в schema.xml СпасибоПроблема Solr с экранированием специальных символов
0
A
ответ
0
Если это единственный символ, который вы хотите удалить, используйте PatternReplaceFilterFactory, чтобы заменить «-» с «», когда вы индексации и запросов:
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.PatternReplaceFilterFactory" pattern="-" replacement="" />
</analyzer>
KeywordTokenizer будет держать весь срок как отдельный токен, а PatternReplaceFilterFactory удалит любой -
и заменит его на ничего, что означает, что индексированный и запрошенный термин будет нормализован до 12345
.
0
Использование нечеткого поиска 123-45~0.1
он ищет строки маркера, который имеет Левенштейна расстояние близко к 0.1.
Это сработало для меня. Спасибо @MatsLindh – user3364886