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

ShingleFilterFactory affects size of highlighted section in Solr

ShingleFilterFactory 添加到 solr 中的类型(索引时间)确实会导致在使用突出显示进行查询时改变行为。

示例文本:"in a ship a dragon was in a box"

如果没有 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,其中包含 shingle 过滤器,会产生异常大的突出显示字段,如上所述。

不会有太大帮助,但会有所帮助:

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

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

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

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

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

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