嗨,我可以配置 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
最佳答案
由于您使用 EnglishPorterFilterFactory
,它会从 Zeitalter 中消除 “er” 后缀,并将其索引为 zeitalt>。所以,如果你想找到这个关键字那么
- 您应该将查询更改为
...q=volltext:*eitalt&...
- 或者您应该从字段定义中删除
EnglishPorterFilterFactory
并使用...q=volltext:*eitalter&...
进行搜索
关于Solr通配符配置问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13953146/