2016-11-08 126 views
0

我遇到問題通過查詢發送到solr的搜索字詞中的特殊字符。 當我搜索零件號123-45時,我應該得到2個結果,即123-45和12345. 請讓我知道如何做到這一點以及我需要在schema.xml中使用的配置 謝謝Solr問題轉義特殊字符

回答

0

如果這是您要刪除,請使用PatternReplaceFilterFactory更換唯一字符「 - 」與「」當你索引和查詢:

<analyzer> 
    <tokenizer class="solr.KeywordTokenizerFactory"/> 
    <filter class="solr.PatternReplaceFilterFactory" pattern="-" replacement="" /> 
</analyzer> 

的KeywordTokenizer將繼續全期爲單獨的令牌,並且PatternReplaceFilterFactory將刪除任何-並將其替換爲無,這意味着索引和查詢的術語將被歸一化爲12345

+0

這對我有用。謝謝@MatsLindh – user3364886

0

使用模糊搜索123-45~0.1

它搜索字符串標記,其中有Levenshtein距離接近0.1。