ShingleFilterFactory影响Solr中突出显示的部分的大小

Th *_*Ä s 9 solr highlighting

ShingleFilterFactory在solr(索引时间)中添加类型会导致在使用突出显示进行队列时更改行为.

示例文本:"在一艘船中,一条龙在一个盒子里"

没有ShingleFilterFactory两个"in"标记将单独突出显示.

<em>in</em> a ship a dragon was <em>in</em> a box
Run Code Online (Sandbox Code Playgroud)

有了它,整个段将作为单个突出显示返回.

<em>in a ship a dragon was in</em>
Run Code Online (Sandbox Code Playgroud)

为什么使用'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>
Run Code Online (Sandbox Code Playgroud)

text_general如上所述,使用包含木瓦过滤器的内容会产生异常大的高亮字段.

ale*_*exf 2

也许你可以使用这个荧光笔

https://issues.apache.org/jira/browse/LUCENE-1522

您指出的问题是已知的,并且有一些补丁可用:

https://issues.apache.org/jira/browse/LUCENE-1489

编辑:第二个链接与 Bereng 发送的链接相同。