Пресечение дублирования результатов запросов по показателю релевантности.
Страницы: 1
Пресечение дублирования результатов запросов по показателю релевантности.
Задачка больше алгоритмическая чем прикладная, но всё же решил разместить в разделе по php, ибо пишу на нём.
Есть таблица с полнотекстовым релевантным поиском. Результат каждого уникального запроса записывается в отдельную таблицу (10 позиций, запрос - результат).Проблема в том, что некоторые запросы могут различаться весьма незначительно, склонением, 1 коротким словом и др. При этом по 5, 10, 20 и более схожих запросов - результат один. Собственно суть - пресечь сохранение в таблицу результатов дублей (уникальный индекс не предлагать, контент в запросах меняется) похожих запросов.

По моему - оптимально определять степень релевантности пред идущих запросов и просто не сохранять если результат по проверке имеет высокую релевантность. Поиск реализуется запросом:

SELECT *, MATCH `field` AGAINST ('$search') as relev FROM `table` ORDER BY relev DESC

Как вытянуть показатель relev не в курсе.

Буду благодарен за любые мысли по этому поводу.
Как на счет такого?

similar_text --  Вычисляет степень похожести двух строк
int similar_text ( string first, string second [, float percent] )

Вычисляет степень похожести двух строк по алгоритму, описанному Oliver [1993]. Эта реализация алгоритма не использует стэка, использованного в оригинале, вместо этого применяются рекурсивные вызовы, что в некоторых случаях может ускорить процесс. Сложность алгоритма составляет O(N**3), где N - длина более длинной из двух строк.
При передаче по ссылке третьего аргумента, ему присваивается степень похожести двух строк в процентах. Возвращается количество совпадающих символов в двух строках.
Код
$str1 = "Привет, как дела?"; 
$str2 = "Привет, что делаешь?"; 
$a = similar_text($str1,$str2,$b); 
 //В переменную $a попадет количество совпадающих символов, в $b процент похожести строк.
Берешь предыдущий запрос и сравниваешь с текущим, если процент высокий не сохраняешь.
Изменено: Максим Ив - 21 Декабря 2014 22:13
Страницы: 1
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
18:44 LOSPOLLOS.COM - Конвертим по рецепту Хайзенберга. Dating, Mainstream, Binary Options 
13:12 Покупные ссылки 
12:57 Rotapost прикрыли! Чем пользоваться? 
17:00 Стоит ли добавлять сайт в Rambler топ 100? 
15:12 Ночной бар в Паттайе: как случайная встреча с "тайкой" и её кадыком перевернула мой взгляд на продвижение сайта в Google 2026 
15:01 Webvork - международная товарная СРА сеть с сертифицированными офферами на Европу. 
07:24 3snet - гемблинг, беттинг, форекс, бинарные опционы, майнинг 
20:07 BestX24 - быстрый и безопасный обменник криптовалют и электронных денежных средств 
16:31 CryptoGraph — Анонимный обмен криптовалют без KYC и AML 
15:37 Продажа лидов: форекс, инвестиции, нативка, гемблинг, чарджбеки 
14:49 Рассылки СМС/SMS, Вайбер/Viber, Ватсап/Whatsapp, Телеграм/Telegram любой тематики по всему миру 
01:31 Продам обменник криптовалюты, а также новый обменник под ключ с обучением. Скидки на скрипты обменника 
01:07 Full-Stack Developer — Сайты и Софт любой сложности | Developer Websites and Soft of any Complexity! 
20:42 E-currency.exchange — ваш помощник в мире обменов 
18:35 С юмором по жизни! 
22:59 Про мясо 
15:07 Добро пожаловать в цифровой мир... 
22:12 BYTIK.shop – сервис по продвижению в популярных социальных сетях​ 
10:10 накрутка трафика в SimilarWeb 
16:50 Компьютерная мышь 
23:03 Точные прогнозы на футбол