我改述了我之前的问题。希望有人能够提供帮助。
我目前有一个只进行精确匹配的solr实现。
因此,搜索短语" THE TEST"将仅匹配" THE TEST"
但是,我也实现了模式替换过滤器。
这是一个搜索短语" TOM AND JERRY"将与" TOM&杰里"
现在,我们要添加stopwordsfilter。我们想删除" THE"索引期间。
因此,搜索短语" TEST"将与" THE TEST"。
相匹配我将标记生成器从KeywordTokenizerFactory更改为Whitespacetokenizerfactory。但是,搜索结果爆炸了。
虽然" TEST"现在与" THE TEST"匹配。它还符合" EVEL TEST"等等。
有没有办法避免测试短语与evel测试等匹配?
非常感谢帮助。感谢。
以下是我当前的索引分析器
<charFilter class="solr.PatternReplaceCharFilterFactory" pattern="(&)" replacement="AND"/>
<charFilter class="solr.PatternReplaceCharFilterFactory" pattern="(@)" replacement="AT"/>
<charFilter class="solr.PatternReplaceCharFilterFactory" pattern="(['_\(\)])" replacement=" "/>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.PatternReplaceFilterFactory" pattern="([~!#$%*+`?/|,.;:}{<>"'\^\=\]\[\\\-])" replacement="" replace="all"/>
<filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true" enablePositionIncrements="false"/>