Я пытаюсь применить проверку правописания к запросам пользователей, используя систему, аналогичную системе «Вы имели в виду» Google, используя PHP.
Есть ли способ сделать это с помощью плагина или API? Если нет, каковы ваши предложения?
<?php
function checkSpelling($query) {
//Boolean where false value means a word is spelt wrong in string
return file_get_contents("http://foo.com/?q=$query");
}
function getSuggestions($query) {
//data with suggestions for word
return file_get_contents("http://foo.com/?q=$query");
}
if (!checkSpelling(foo)) {
echo getSuggestions(foo);
}
?>
<?php
require("plugin.php");
//plugin functions similar to the functions above are defined already
if (!checkSpelling(foo)) {
echo getSuggestions(foo);
}
?>
НОТА: Pspell не вариант, потому что у меня есть PHP 5.X.X и я не могу установить его на сервер.
НОТА: Проверка орфографии PHP не имеет отключенного интерфейса.
Использование Levenshtein Distance было бы первым решением, которое придет в голову, и я ожидаю, что гибридный подход с автозаполнением, набор ключевых слов с орфографической ошибкой и Levenshtein и / или SOUNDEX приведут вас к тому, что вы ищете. И да, это немного похоже на проект.
Еще один совет, который приходит на ум с такими вещами, это спросить себя. «Что я действительно пытаюсь сделать?»
Часто полноценное решение Google может быть похоже на пескоструйную обработку супа-крекера, потому что ваш вариант использования не их. Если цель состоит в том, чтобы доставить посетителя А к информации Б простым и приятным способом, это ряд способов сделать это, что может быть проще и / или лучше для вас, вместо того, чтобы пытаться произвести обратный инжиниринг чего-либо дословно.
Других решений пока нет …