2011-07-16 125 views
3

我正在研究模糊搜索以及如何使用倒排索引從數據庫檢索信息。我研究了倒轉索引,我認爲它只適用於精確匹配。想象一下我的數據庫中有字符串East Lamar Street的情況。有人正在尋找East Lmar Street和我該找什麼East Lamar Street模糊搜索+倒排索引

它會使用編輯距離嗎?

該算法將如何運作?

數據庫是否會使用倒排索引?

或者它會做一個完整的掃描?

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

回答

1

我已經寫了一個小型庫,它使用Soundex在單詞和分數上使用Levenshtein距離對整個短語進行索引。有一個scala和C#版本。如果你能負擔所有的街道名稱加載到內存中,你可以使用它。否則,你可能會採取一些來源,並以不同的方式使用它。

https://github.com/rstokes/fuzzysearch