2012-03-02 4 views
1

の設定、私はストレージロッカーSOLR:私は同義語が正しく動作して取得しようとしていますインデックス時間同義語

にフロアロッカーをマップする現在のストレージロッカーを検索すると、フロアロッカーを検索すると、すべての結果が得られないような結果であった生産します。 私は、インデックス時間同義語のための次のセットアップを持っている:

floor locker=>storage locker 

は私が間違って何をやっている:

<fieldType name="text" class="solr.TextField" positionIncrementGap="100" omitNorms="false"> 
    <analyzer type="index"> 
     <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" tokenizerFactory="KeywordTokenizerFactory"/> 
     <charFilter class="solr.HTMLStripCharFilterFactory"/> 
     <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" /> 
     <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> 
     <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt" /> 
     <filter class="solr.LowerCaseFilterFactory" /> 
     <filter class="solr.RemoveDuplicatesTokenFilterFactory" /> 
     <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
     </analyzer> 
...... 

そして、私のsynonyms.txtは、このようになりますか?

+0

クエリはどのように見えますか? –

+0

q = {!dismax}フロアロッカー – dorgan

+0

本当にここでコメントするにはDismaxのクエリについて十分にわかりませんが、検索していないため同義語が認識されない可能性があります正確なフレーズ? –

答えて

1

分析チェーンの順序が間違っています。 charフィルタを最初に配置し、次にトークナイザを配置する必要があります。同義語フィルタは、その直後にすることができます。残りのフィルタは正しい順序、または少なくとも良い順序にあります。

関連する問題