Поиск массива для похожих написанных слов / объектов - PullRequest
1 голос
/ 24 ноября 2011

Я ищу решение, аналогичное предложенному Google "Вы имели в виду: Word "

У меня есть массив транспортных средств, введенных как

2011ChevroletMalibu
2011FordF150
2009FordProbe
etc...

В моемПриложение У меня есть три текстовых поля.

Year Make Model.

Когда пользователь вводит в 2011 году Chevrolet Malabu (обратите внимание, что Малибу написана с ошибкой) и нажимает кнопку поиска ... Я хотел бы ответить «Вы имели в виду: Chevrolet Malibu 2011 года».У кого-нибудь есть какие-либо предложения о том, как «искать похожие»?Спасибо!

Ответы [ 3 ]

2 голосов
/ 24 ноября 2011

AFAIK, который не является какой-либо функцией, которую iOS SDK мог бы решить для вас - однако, есть много доступных алгоритмов, делающих именно это.

Обратите внимание:

Фонетическая строка SoundexСравнение

Расстояние Левенштейна

Оливер 1993

1 голос
/ 24 ноября 2011

Луи, я думаю, что это не очень просто. Вам нужно использовать некоторый фонетический поиск. Если ваше приложение использует данные, предоставленные веб-сервисом, и у вас есть mssqlserver> = 2000 за этим веб-сервисом, вы можете использовать функцию SOUNDEX в своих поисках. Но если вы хотите, реализовать свой собственный фонетический поиск, это большая проблема.

0 голосов
/ 24 ноября 2011

Посмотрите на "хэши" soundx или если у вас есть процессор для него, расстояние Левенштейна. Soundx будет дешевле вычислять, расстояние Левенштейна даст лучшие результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...