我在使用以下字段類型查詢Solr的一個問題:Solr的SnowballPorterFilterFactory和通配符參數
<fieldType name="text_ci" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
</analyzer>
</fieldType>
正如你可以看到它應用「SnowballPorterFilterFactory」時,索引和查詢。如果我索引類似
老鼠的東西,好玩的
它得到的索引爲:
正如你可以看到這個詞「鼠標」變成「諒解備忘錄」通過「SnowballPorterFilterFactory」。這是我們想要的。然而,當我們搜索
鼠標*
它似乎並沒有以同樣的方式來應用「SnowballPorterFilterFactory」。我猜是因爲最後的*。
我的問題是..有沒有辦法使「SnowballPorterFilterFactory」瞭解通配符?所以,當我查詢了
鼠標*
我沒有得到0的結果。
有趣的是,如果我查詢
諒解備忘錄*
記錄不回來。
或者有人可以提供一個更好的方式來查詢/索引這種類型的字段?
感謝戴夫
謝謝...這回答了我爲什麼不應用過濾器的查詢。我喜歡複製領域的想法..謝謝 – CraftyFella 2010-07-29 14:22:24