Пресечение дублирования результатов запросов по показателю релевантности.
Страницы: 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)
Новые темыОбъявленияСвободное общение
19:52 Profit Pixels - In-House Форекс, Крипто, Трейдинг CPA Офферы | Еженедельные Выплаты | CPA до $950 
17:55 Dao.AD: Монетизация и покупка Push/Pops/Inpage и Video трафика! 
17:04 Webvork - международная товарная СРА сеть с сертифицированными офферами на Европу. 
15:43 Adtrafico - Правильная партнёрская сеть под бурж трафик 
12:50 Партнерская программа OWNR WALLET 
01:46 Настроить поставщиков в программе E-Trade PriceList Importer 
15:26 Найти элемент в коде 
11:39 USMobileSMSBot - 
18:22 Coin Click.cc - Быстрый и надежный обмен электронных валют в два клика 
12:33 Услуга чертежника и 3D моделирования 
20:40 Ural-obmen.ru — выгодный сервис обмена 
20:29 Obama.ru - безопасный обмен криптовалют и электронных денежных средств 
16:54 Прием платежей для HIGH RISK | Прием платежей без сайта 
16:54 Услуги рассылки Viber|Whatsapp|IMO. 
10:19 Видимо, похороны СУПРа уже прошли как-то по-тихому 
22:54 Точные прогнозы на футбол 
12:48 Каспкрски ОС 
11:21 Ням-ням! - 8 деликатесов, которые когда-то ели только бедные люди 
14:41 Бесплатный мини-аудит юзабилити и конверсии + технический SEO-аудит в подарок 
15:24 Добро пожаловать в цифровой мир... 
22:58 У меня дикая просадка по РСЯ за последние 3 суток