您所看到的是预期行为。
NGramFilterFactory
类将字符串标记为N大小的克。在您的情况下,字符串根据您的架构定义被分成 2 到 15 个字符的克:
<filter class="solr.NGramFilterFactory" maxGramSize="15" minGramSize="2"/>
对于像
cassandra
这样的输入字符串,N 元语法过滤器会生成以下语法:
ca as ss sa an nd dr ra
cas ass ssa san and ndr dra
cass assa ssan sand andr ndra
对于搜索词
ss
,Solr 查询将获得 ss
、ass
、ssa
、assa
、ssan
等的匹配项。
在您的搜索词为
vi
的情况下,预计会匹配 vinca
、vinaship
、vincent
、victory
、navi
、violet
等。
有关更多信息,请参阅Solr 中的文档分析。干杯!