感谢您花时间阅读本文。
我使用solr 6让荧光笔与EdgeNGramFilterFactory一起工作,问题是solr返回匹配的术语,当我想要它做的是突出显示匹配的术语中的字符。
回来的结果如下:
<em>Welcome</em>
到丛林
我希望它们看起来像这样:
<em>Wel</em>come
到丛林
在我的架构中:
<fieldtype name="text" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="10"/>
<filter class="solr.SynonymFilterFactory" expand="true" ignoreCase="true" synonyms="synonyms.txt"/>
<filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" expand="true" ignoreCase="true" synonyms="synonyms.txt"/>
<filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldtype>
<field name="document" type="text" indexed="true" stored="true"/>
答案 0 :(得分:0)
Solr
返回高亮显示的文本,该文本存储在Solr enter code here
索引中。
使用索引时使用的Wel
完成的索引术语analyser
在任何响应中都不会返回。
作为回复,如果您为同一字段选择了stored=true
,则会收到原始文本。
因此即使它与术语Wel
匹配,它也会返回原始版本
突出显示的术语/文字。