我正在使用Solr与日光浴室,我正在尝试搜索具有相同含义的不同单词。例如,如果用户搜索了照片,它也会返回照片和照片的结果。
我尝试过实施Hunspell和Snowball Filter Factory。两者似乎都在处理多个单词的实例。
以下是我的架构中的条目:
<fieldType name="text_general" class="solr.TextField" multiValued="true" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
<filter class="solr.SynonymFilterFactory" expand="true" synonyms="synonyms.txt" ignoreCase="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.HunspellStemFilterFactory" dictionary="en_US.dic" affix="en_US.aff" ignoreCase="true" />
</analyzer>
谢谢!
答案 0 :(得分:0)
在词干中,单词被简化为词干或词根形式。您已经使用过SnowballPorterFilterFactory和HunspellStemFilterFactory,并可以在solr中尝试 PorterStemFilterFactory , KStemFilterFactory 和 EnglishMinimalStemFilter 。阻止过滤器无法处理同义词。如果要搜索具有相同含义的不同单词,则必须在solr中使用stopfilterfactory,然后将可能的同义词单词添加到sysnoyms.txt中。可以在其中定义替换同义词,单向扩展同义词和多向扩展同义词。