使用 solr-spec 6.1.0 和 lucene-spec 6.1.0
我有一个使用EdgeNGramFilterFactory的字段,我看到的结果不正确。
我正在查询标题“raza”并且它返回标题为“raza”的文档以及其中找到“r”“ra”“raz”的所有其他标题。
分析用户界面向我显示偏移未正确设置
在此处查看Analysis UI的屏幕截图
我看到“结束”是常数4,4,4,4。我认为应该是1,2,3,4
从下面的Schema.xml配置
<field name="full_name" type="text_prefix" indexed="true" stored="true" storeOffsetsWithPositions="true"/>
<fieldType name="text_prefix" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.ASCIIFoldingFilterFactory"/>
<filter class="solr.EnglishPossessiveFilterFactory"/>
<charFilter class="solr.PatternReplaceCharFilterFactory" pattern="_" replacement=" "/>
<filter class="solr.EdgeNGramFilterFactory" maxGramSize="50" minGramSize="1"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.ASCIIFoldingFilterFactory"/>
<filter class="solr.EnglishPossessiveFilterFactory"/>
<charFilter class="solr.PatternReplaceCharFilterFactory" pattern="_" replacement=" "/>
</analyzer>
</fieldType>
我使用旧版Solr和Lucene在我的其他环境中尝试了相同的架构,如下所示[ luceneMatchVersion =“4.3”]并且工作正常
<filter class="solr.EdgeNGramFilterFactory" maxGramSize="50" minGramSize="1" luceneMatchVersion="4.3"/>
但是使用最新的Solr 6.1.0,它不起作用。
有人可以帮我修复Solr 6.1.0