是否可以在 synonyms.txt 文件中使用通配符?例如
q:AWS
synonym.txt 看起来像AWS,Webservice*
匹配webservice和webservices。
或q:changemanagement
synonym.txt 看起来像changemanagement,change manager,chanagemanage*
匹配changemanager和changemangerin。
我想使用 SynonymGraphFilter 的选项,expand=false
因为expand=true
我得到的分数太高。
我的索引时间和查询时间分析器如下所示:
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterGraphFilterFactory" generateWordParts="1" generateNumberParts="0" catenateWords="1" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0" preserveOriginal="1" types="types.txt"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhiteSpaceTokenizerFactory"/>
<filter class="solr.SynonymGraphFilterFactory" expand="false" synonyms="synonyms.txt"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
<filter class="solr.WordDelimiterGraphFilterFactory" generateWordParts="1" generateNumberParts="0" catenateWords="1" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0" preserveOriginal="1" types="types.txt"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
我不确定在索引时是否也必须使用 SynonymGraphFilter。
感谢帮助!