Solr 8.3.0 SynonymGraphFilter 和通配符

问题描述

是否可以在同义词.txt 文件中使用通配符? 例如

q:AWS 同义词.txt 看起来像 AWS,Webservice* 以匹配 webservicewebservices

q:changemanagement 同义词.txt 看起来像changemanagement,change manager,chanagemanage* 以匹配changemanagerchangemanager

我想使用 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。

感谢您的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)