3

如何使用 dismax 按部分单词进行搜索?例如,当我的查询是“wor”时,我想得到带有“ word d”“ wor ld”“ad word ds”等字段值的结果。可能吗?

4

1 回答 1

2

检查EdgeNgramFilterFactory过滤器

<filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="25" side="front"/>

EdgeNGramFilterFactory 为令牌生成边缘图,例如

word会生成->wo, wor, word .....

您可以在索引时使用它来生成令牌。因此,当您搜索 时wor,带有的文档word将匹配

但是,如果您想在单词中间搜索,请检查NGramFilterFactory

于 2013-07-12T04:32:08.300 回答