【问题标题】:Solr Minimum match customizationSolr 最小匹配自定义
【发布时间】:2012-04-18 21:54:19
【问题描述】:

我有一个案例,我想这样匹配:

查询:abcd efgh ijkl mnop

在此之后,Query 将接受 NGram 标记器,每个单词被分成 2 个 gram 标记。

eg) 查询被分成,

ab,bc,cd,ef,fg,gh,ij,jk,kl,mn,no,op

现在在匹配时,我希望为单词中的标记自定义最小匹配。

我的意思是,默认情况下,当一个单词对应的任何一个标记与索引文档匹配时,mm=1,则返回该索引文档。如果我给 mm=2,那么任何 2 个单词中的任何一个标记都需要与要返回的索引文档匹配。

但我想要的是:仅当任何 'm' 标记每个都与 mm=num of words 匹配时才返回文档。

例如)我希望至少 2 个标记,每个标记来自至少 3 个单词,以便选择索引文档。

似乎 Lucene 的 IndexSearcher 完成了这个核心部分。我是否需要更改代码或任何其他可以执行上述操作的配置?

提前谢谢...

【问题讨论】:

    标签: solr lucene


    【解决方案1】:

    这并不是您所要求的,但我猜您的基本问题是“我如何确保模糊搜索只返回与原始查询‘接近’的内容?”

    语法foo~.8 执行此操作 - 请参阅the docs。基本上,0.8 是编辑(Levenstein)距离除以单词长度的度量。

    如果您想坚持计算必须匹配的对的想法,您可以做一些数学运算来确定最小的列文斯坦距离需要是多少。

    【讨论】:

    • 哇不错。我以前听说过莱文斯坦距离。感谢您的宝贵建议。我会调查的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-03
    • 2014-08-07
    • 1970-01-01
    • 2013-12-10
    相关资源
    最近更新 更多