2011-07-09 4 views
0

これは私の「テキスト」フィールドタイプのコピーです。私が質問をタイプするとき、同義語とストップワードは尊重されていません。しかし、WordDelimiterFilterFactorは期待どおりに動作しています...私のスキーマに何か問題がありますか?私のsolrサービスがストップワードと同義語を適用していないようです

http://pastebin.com/i552PCAE(同じコードはここに発見された)stopwords.txtファイルが正しいconfディレクトリ内にあり、他の理由のit.cantシンクタンクでストップワードを持っているかどうか

<fieldType name="text" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true"> 
<analyzer type="index"> 
<tokenizer class="solr.WhitespaceTokenizerFactory"/> 
<!-- in this example, we will only use synonyms at query time 
     <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/> 
     --> 
<!-- Case insensitive stop word removal. 
      add enablePositionIncrements=true in both the index and query 
      analyzers to leave a 'gap' for more accurate phrase queries. 
     --> 
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/> 
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/> 
<filter class="solr.LowerCaseFilterFactory"/> 
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> 
<filter class="solr.PorterStemFilterFactory"/> 
</analyzer> 
<analyzer type="query"> 
<tokenizer class="solr.WhitespaceTokenizerFactory"/> 
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> 
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/> 
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/> 
<filter class="solr.LowerCaseFilterFactory"/> 
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> 
<filter class="solr.PorterStemFilterFactory"/> 
</analyzer> 
</fieldType> 

答えて

0

チェック。

0
expand=true 

これは

# If expand==true, "ipod, i-pod, i pod" is equivalent to the explicit mapping: 
ipod, i-pod, i pod => ipod, i-pod, i pod 
# If expand==false, "ipod, i-pod, i pod" is equivalent to the explicit mapping: 
ipod, i-pod, i pod => ipod 

http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.SynonymFilterFactory

すべての同義語と一致します(そう別のものを置き換えることはありません)ファイル、あなたの同義語に応じて、
関連する問題