【发布时间】:2013-06-16 22:33:37
【问题描述】:
我如何对诸如“the quick brown fox”之类的短语执行 solr 搜索,允许漏掉 n 个单词,以便找到以下字符串(对于 n = 2):
- “敏捷的棕狐”
- “快速棕色”
- “狐狸精”
- “迅捷棕狐”
- “棕狐”
- “快”
- “棕色”
- “狐狸”
- “快速棕色”
- “快狐”
- “棕狐”
我想将 n 作为参数传递。 slop可以解决这个问题吗?
【问题讨论】:
-
您能否详细说明 $n$ 的实际含义?
-
您要搜索一组文档。您传递了一个搜索短语,并且还传递了应该匹配的单词数 (n)。我的理解正确吗?
-
抱歉不够具体:我传递了一个搜索短语,传递了 n 个允许遗漏的单词。但是单词的顺序应该很重要。其余的单词应该完全匹配。 (这就是我不想称之为模糊短语搜索的原因。)
-
我觉得你可能需要编写自己的分词器,它会按照它们出现的相同顺序对每个词进行索引。它也应该组合成 1's、2's、3's 等,然后搜索短语应该与那些长度与 n 的值相同的组合匹配。
-
对于我这个初学者来说,这听起来太复杂了。我正在寻找开箱即用的东西。但也许没有这样的? (我发现这个要求非常简单和自然...... - 类似于模糊搜索短语。)