Предположим, у нас есть база данных: Actions_tbl: ————————————————– —— id | Action_name | user_id | ————————————————– —— 1 | Джон читает одну книгу | 1 2 | чтение книги Джона | 1 3 | Джо прыгает через огонь | 2 4 | чтение другой книги | 2 5 | Джон читает книгу в библиотеке | […]
У меня есть сценарий, который я нашел здесь, который хорошо работает при поиске самой низкой общей подстроки. Однако мне нужно, чтобы он терпел некоторые неправильные / отсутствующие символы. Я хотел бы иметь возможность либо вводить процент требуемого сходства, либо, возможно, указать количество допустимых / недопустимых символов. Например, я хочу найти эту строку: большой желтый школьный […]
Недавно мы столкнулись с интересной проблемой, когда в нашей базе данных были обнаружены дублированные пользовательские данные. Мы поняли, что расстояние Левенштейна между большей частью этих данных было просто разницей между двумя указанными строками. Это указывает на то, что если мы просто добавим символы из одной строки в другую, то мы получим одну и ту же […]
У меня был некоторый успех, сравнивающий строки, используя функцию PHP levenshtein . Однако для двух строк, которые содержат подстроки, которые меняют местами, алгоритм считает их целыми новыми подстроками. Например: levenshtein("The quick brown fox", "brown quick The fox"); // 10 differences рассматриваются как имеющие меньше общего, чем: levenshtein("The quick brown fox", "The quiet swine flu"); // […]
У меня есть 5000, а иногда и больше строк уличных адресов в массиве. Я хотел бы сравнить их все с levenshtein, чтобы найти похожие матчи. Как я могу сделать это, не зацикливая все 5000 и сравнивая их напрямую с другими 4999? Редактировать: меня также интересуют альтернативные методы, если у кого есть предложения. Общая цель – […]
Я поддерживаю базу данных музыки в mySQL, как мне возвращать результаты, хранящиеся под eg 'Tiësto', когда люди ищут «Tiesto»? Все данные хранятся под индексом полного текста, если это имеет значение. Я уже использую комбинацию Levenshtein в PHP и REGEXP в SQL – не пытаюсь решить эту проблему, а просто для большей доступности для поиска в […]
$word = strtolower($_GET['term']); $lev = 0; $q = mysql_query("SELECT `term` FROM `words`"); while($r = mysql_fetch_assoc($q)) { $r['term'] = strtolower($r['term']); $lev = levenshtein($word, $r['term']); if($lev >= 0 && $lev < 5) { $word = $r['term']; } } Как я могу переместить все это только в один запрос? Не хотите запрашивать все термины и выполнять фильтрацию в […]
Я имею в PHP массив, например: $arr = array("hello", "try", "hel", "hey hello"); Теперь я хочу сделать переупорядочивание массива, который будет основываться на наиболее близких словах между массивом и моим $ search var. Как я могу это сделать?