我想让同义词正常工作,我想将地板储物柜映射到储物柜
目前正在搜索存储储物柜产生的结果,因为搜索地板储物柜不会产生任何结果。 我为索引时间同义词设置了以下设置:
<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看起来像这样:
floor locker=>storage locker
我做错了什么?
答案 0 :(得分:1)
您的分析链顺序错误。你应该首先使用char过滤器,然后是tokenizer。同义词过滤器可以在此之后立即进行。其余的过滤器顺序正确,或至少是一个良好的顺序。