2013-04-27 17 views
1

我使用的查詢模式需要讓abc匹配Abc400匹配400(用戶名匹配)。solr LowerCaseFilterFactory不應該過濾編號

但我在使用LowerCaseFilterFactory時發現,當查詢400時,不會返回任何結果。 我挖掘到源代碼中,發現LowerCaseTokenizerFactory使用LowerCaseTokenizer,它擴展了LetterTokenizer,並且它過濾了所有的數字。

我該如何解決這個問題?

回答

2

你是對的LowerCaseTokenizer將刪除所有非字母。它將非常有用(就提供有意義的答案)來查看您的模式,因爲我不相信只使用小寫過濾器工廠應該生成任何種類的Tokenizer

儘管如此,還有很多其他選項用於標記器。 StandardClassic都可能更適合您的需求。沿着線

東西:

<analyzer> 
    <tokenizer class="solr.StandardTokenizerFactory"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
</analyzer> 

可能會爲你做的很好。

+0

謝謝!有用! – linjunhalida 2013-04-27 06:32:29