搜索后缀字。 Solr 4.5.1

时间:2013-11-15 07:33:56

标签: solr

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

2 个答案:

答案 0 :(得分:5)

我认为你必须像这样使用ReverseStringFilterFactory

<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>
  ...

答案 1 :(得分:1)

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