2

嗨,谁能像文本编辑器一样配置 solr 来查找所有内容?

我有一个包含

... text texct blah Computer-Zeitalter blah text m00h ...

我已经这样配置了

<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
    <analyzer>
        <tokenizer class="solr.WhitespaceTokenizerFactory" />
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
        <filter class="solr.WordDelimiterFilterFactory" 
                generateWordParts="1" generateNumberParts="0" catenateWords="1"
                catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"
                splitOnNumerics="0" stemEnglishPossessive="1"/>
        <filter class="solr.LowerCaseFilterFactory" />
        <filter class="solr.TrimFilterFactory" />   
        <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt" />
        <filter class="solr.RemoveDuplicatesTokenFilterFactory" />
        <filter class="solr.ReversedWildcardFilterFactory" />
        <filter class="solr.LengthFilterFactory" min="2" max="100" />
    </analyzer>
</fieldType>

select/?q=volltext:*eitalter&version=2.2&start=0&rows=10&indent=on
select/?q=volltext:eitalter&version=2.2&start=0&rows=10&indent=on

没有结果,为什么?

我正在使用 solr 1.4

4

1 回答 1

2

由于您使用EnglishPorterFilterFactory,它会从Zeitalter中删除“er”后缀并将其索引为zeitalt。所以,如果你想找到这个关键字,那么

  • 您应该将查询更改为...q=volltext:*eitalt&...
  • 或者您应该EnglishPorterFilterFactory从字段定义中删除并使用搜索...q=volltext:*eitalter&...
于 2012-12-19T13:50:57.740 回答