小编use*_*627的帖子

使用EdgeNGramFilterFactory在Solr中搜索并搜索查询的最小长度

在我的solr架构文件中,我有一个使用EdgeNGramFilterFactory的默认搜索字段

<filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="15" side="front" />
Run Code Online (Sandbox Code Playgroud)

假设我的搜索查询是

tes
Run Code Online (Sandbox Code Playgroud)

所以我得到了这样的结果:

tess
test
tesla
...
Run Code Online (Sandbox Code Playgroud)

如果我搜索

test
Run Code Online (Sandbox Code Playgroud)

我得到的结果就像

test
tess
tesla
...
Run Code Online (Sandbox Code Playgroud)

没关系,因为我使用EdgeNGramFilterFactory和minGramSize = 3,但我想要以下内容:

当我搜索长度超过3个字符的字符串(例如测试)时,我希望solr忽略包含3个字符的所有术语(EdgeNGramFilterFactory).当我搜索"测试"时,我不想得到像"tess"或"tesla"这样的结果.我不会得到以测试(4个字符)开头的结果

test
test for
test-drive
...
Run Code Online (Sandbox Code Playgroud)

是否可以在solr中配置?

search solr

5
推荐指数
1
解决办法
2859
查看次数

标签 统计

search ×1

solr ×1