2011-07-16 119 views
3

我正在研究模糊搜索以及如何使用倒排索引从数据库检索信息。我研究了倒转索引,我认为它只适用于精确匹配。想象一下我的数据库中有字符串East Lamar Street的情况。有人正在寻找East Lmar Street和我该找什么East Lamar Street模糊搜索+倒排索引

它会使用编辑距离吗?

该算法将如何运作?

数据库是否会使用倒排索引?

或者它会做一个完整的扫描?

我看到它使用散列来进行O(1)中的操作。

回答

1

我已经写了一个小型库,它使用Soundex在单词和分数上使用Levenshtein距离对整个短语进行索引。有一个scala和C#版本。如果你能负担所有的街道名称加载到内存中,你可以使用它。否则,你可能会采取一些来源,并以不同的方式使用它。

https://github.com/rstokes/fuzzysearch