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-1522
您指出的问题是已知的,并且有一些补丁可用:
https://issues.apache.org/jira/browse/LUCENE-1489
编辑:第二个link与Bereng发送的相同。
将 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-1522
您指出的问题是已知的,并且有一些补丁可用:
https://issues.apache.org/jira/browse/LUCENE-1489
编辑:第二个link与Bereng发送的相同。