我正在研究模糊搜索以及如何使用倒排索引从数据库中检索信息。我研究了倒排索引,我认为它只适用于完全匹配。想象一下我有字符串 East Lamar Street
的情况在我的数据库中。有人在找 East Lmar Street
我要找什么East Lamar Street
.
它会使用编辑距离吗?
算法将如何运作?
数据库会使用倒排索引吗?
或者它会做一个完整的扫描?
我看到它使用散列在 O(1) 中进行操作。
最佳答案
我写了一个小库,它使用 Soundex 按单词索引,并在整个短语上使用 Levenshtein 距离进行评分。有一个 Scala 和 C# 版本。如果您负担得起将所有街道名称加载到内存中,则可以使用它。否则,您可能会采用一些来源并以不同的方式使用它。
https://github.com/rstokes/fuzzysearch
关于search - 模糊搜索 + 倒排索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6714876/