3

如何搜索单词后缀?我正在使用 Solr-4.5.1。使用 Solr-3.6.2 我在 schema.xml 中已经注意到: filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="50" side="back" 在 solr-4.5.1 中不起作用。谢谢。

4

2 回答 2

5

I think you have to use the ReverseStringFilterFactory like this

<fieldType name="text" class="solr.TextField" omitNorms="false">
  <analyzer type="index">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.StandardFilterFactory"/>
    <filter class="solr.WordDelimiterFilterFactory" catenateWords="1" catenateAll="1" preserveOriginal="1"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15"/>
    <filter class="solr.ReverseStringFilterFactory" />
    <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15"/>
    <filter class="solr.ReverseStringFilterFactory" />
  </analyzer>
  ...
于 2013-12-09T12:14:13.103 回答
1

这个答案不正确,fieldType 管道只有一个结果,而不是这里暗示的两个结果。您需要将源字段复制到第二个“向后”字段并对其进行搜索。

于 2014-04-14T19:53:47.440 回答