从 Solr 查询中得到奇怪的结果

问题描述 投票:0回答:1
cassandra solr lucene datastax-enterprise
1个回答
0
投票

您所看到的是预期行为。

NGramFilterFactory
类将字符串标记为N大小的克。在您的情况下,字符串根据您的架构定义被分成 2 到 15 个字符的克:

        <filter class="solr.NGramFilterFactory" maxGramSize="15" minGramSize="2"/>

对于像

cassandra
这样的输入字符串,N 元语法过滤器会生成以下语法:

  • 大小=2:
    ca as ss sa an nd dr ra
  • 大小=3:
    cas ass ssa san and ndr dra
  • 大小=4:
    cass assa ssan sand andr ndra
  • 依此类推,直到大小=15

对于搜索词

ss
,Solr 查询将获得
ss
ass
ssa
assa
ssan
等的匹配项。

在您的搜索词为

vi
的情况下,预计会匹配
vinca
vinaship
vincent
victory
navi
violet
等。

有关更多信息,请参阅Solr 中的文档分析。干杯!

© www.soinside.com 2019 - 2024. All rights reserved.