Пресечение дублирования результатов запросов по показателю релевантности.
Страницы: 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)
Новые темыОбъявленияСвободное общение
15:19 Refmate — сервис для взаимного обмена ссылками 
13:06 Продвижение по ключам 
09:47 Adsense личный опыт 
13:13 LOSPOLLOS.COM - Конвертим по рецепту Хайзенберга. Dating, Mainstream, Binary Options 
13:47 Webvork - международная товарная СРА сеть с сертифицированными офферами на Европу. 
08:27 Ищу специалистов 
08:18 Прибыль 200$ - 400$, за каждую 1000 уников! Google, FB и тд 
18:48 Продажа аккаунтов HH.RU 
17:38 swapsfera.com 
17:30 GoodsMoney.io 
16:25 JustProxy.Biz - Резидентные прокси без ограничения по трафику 
14:43 Рассылки СМС/SMS, Вайбер/Viber, Ватсап/Whatsapp, Телеграм/Telegram любой тематики по всему миру 
14:18 PonyBit.ru - обменный пункт PonyBit.ru (Понибит.ру) 
13:41 SiteAnalyzer SEO Tools - бесплатное браузерное расширение для Chrome & Firefox 
17:46 Всего п онемногу 
12:45 Куплю проигрышные букмекерские аккаунты 
11:55 Union Pharm - топовая фарма-партнерка для профессионалов! 
17:09 Точные прогнозы на футбол 
10:00 Ну что, кто куда деваете свои сайты? 
16:22 Компьютерная мышь 
23:55 Добро пожаловать в цифровой мир...