将ShingleFilterFactory
添加到solr中的类型(索引时间)会导致在使用突出显示进行队列时更改行为。
示例文字:“在一艘船中,一条龙在一个盒子里”
如果没有ShingleFilterFactory
,则两个“in”标记将分别突出显示。
<em>in</em> a ship a dragon was <em>in</em> a box
使用它,整个片段将作为单个突出显示返回。
<em>in a ship a dragon was in</em>
为什么使用'ShingleFilterFactory'会影响突出显示?
修改
按要求添加架构信息:
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<charFilter class="solr.HTMLStripCharFilterFactory"/>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.ShingleFilterFactory" maxShingleSize="2" outputUnigrams="true"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
使用包含木瓦过滤器的text_general
会产生异常大的高亮字段,如上所述。
答案 0 :(得分:2)
赢得了很多帮助,但会有所启发:
答案 1 :(得分:2)
也许您可以使用荧光笔:
https://issues.apache.org/jira/browse/LUCENE-1522
您所指出的问题是已知的,并且可以使用一些补丁:
https://issues.apache.org/jira/browse/LUCENE-1489
编辑:第二个链接与Bereng发送的相同。