Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在Solr 8.6.0中执行部分单词搜索_Solr - Fatal编程技术网

无法在Solr 8.6.0中执行部分单词搜索

无法在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

我几乎没有2019-2020年的财务价值记录,但我无法搜索2019或2020年的文本。我可以搜索2019-2020年

我使用的查询是

下面是模式文件中的_fiscalyear配置


<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。