Solr部分匹配/ EdgeNGram突出显示

时间:2016-05-19 13:23:24

标签: solr

感谢您花时间阅读本文。

我使用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"/>

1 个答案:

答案 0 :(得分:0)

Solr返回高亮显示的文本,该文本存储在Solr enter code here索引中。

使用索引时使用的Wel完成的索引术语analyser在任何响应中都不会返回。

作为回复,如果您为同一字段选择了stored=true,则会收到原始文本。

因此即使它与术语Wel匹配,它也会返回原始版本 突出显示的术语/文字。