无法在Solr 8.6.0中执行部分单词搜索
我几乎没有2019-2020年的财务价值记录,但我无法搜索2019或2020年的文本。我可以搜索2019-2020年 我使用的查询是 下面是模式文件中的_fiscalyear配置无法在Solr 8.6.0中执行部分单词搜索,solr,Solr,我几乎没有2019-2020年的财务价值记录,但我无法搜索2019或2020年的文本。我可以搜索2019-2020年 我使用的查询是 下面是模式文件中的_fiscalyear配置 <field name="_fiscalyear" type="text_general" indexed="true" stored="true" required="false" multiValued=&q
<field name="_fiscalyear" type="text_general" indexed="true" stored="true" required="false" multiValued="false" />
<copyField source="_fiscalyear" dest="text_en"/>
添加
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" /> under
<analyzer type="index">
下
修正了ISSUE在2020年不起作用的问题,是吗?如果您的代币器尚未在
-
上拆分,那么您最终将以20
、201
、2019
、2019-
、2019-2
等代币结束,而不是2020
本身。您是对的。那么我如何在索引级别处理这个问题呢?使用NGramFilterFactory而不是EdgeNGramFilterFactory解决了这个问题。现在,如果您只想搜索整数(即使您只搜索20
,也会得到结果-如果您想这样做,请保持原样),那么最好使用在-
上拆分的标记器,或者使用具有相同功能的WordDelimiterGraphFilter。