Нечеткий поиск + инвертированное индексирование

Я изучаю нечеткий поиск и извлекаю информацию из базы данных с помощью инвертированного индексирования. Я изучал инвертированное индексирование и думаю, что оно работает только для ТОЧНОГО соответствия. Представьте ситуацию, что у меня есть строка East Lamar Street в моей базе данных. Кто-то ищет East Lmar Street, а я что найти East Lamar Street.

Будет ли он использовать Edit Distance?

Как будет работать алгоритм?

Будет ли база данных использовать инвертированное индексирование?

Или он сделает полное сканирование?

Я видел, что он использует хеш для выполнения операции в O (1).


person p.magalhaes    schedule 16.07.2011    source источник


Ответы (1)


Я написал небольшую библиотеку, которая индексирует с помощью Soundex по словам и оценивает с помощью расстояния Левенштейна всю фразу. Есть версия scala и C#. Вы можете использовать это, если можете себе позволить загрузку всех названий улиц в память. В противном случае вы можете взять часть источника и использовать его по-другому.

https://github.com/rstokes/fuzzysearch

person rstokes    schedule 19.01.2013