Пресечение дублирования результатов запросов по показателю релевантности.
Страницы: 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)
Новые темыОбъявленияСвободное общение
02:52 РСЯ и тормоза сайта: Яндекс начал штрафовать за плохой PageSpeed? 
23:09 Как безопасно купить Гугл почту? 
22:34 01.02. Апдейт 31.01 // Chrome готовит "чёрную метку" для ИИ? 
13:45 Какой движок выбрать для форума? 
13:43 Нашел скрины выплат с Сапы за 2010 год. Пошел плакать 
09:26 Трафик пробил дно? Худший январь за 10 лет и внезапный рост продаж с Bing 
19:27 Плагин ответа 
23:25 SOCKS5 приватные прокси на 30 дней для PayPal 
23:24 Google Voice аккаунты для бесплатных SMS и звонков 
23:23 PayPal аккаунты для любых целей 
23:02 BestX24 - быстрый и безопасный обменник криптовалют и электронных денежных средств 
20:21 CryptoGraph — Анонимный обмен криптовалют без KYC и AML 
12:09 Trustpilot Reviews | Подниму рейтинг вашей компании 
12:07 Купить отзывы на Яндекс и Гугл картах, на Авито, на Отзовике и IRecommend 
23:51 Ставки на супер тренды в спорте 
22:31 [AI] Бот за $600к советовал есть сыр с крысами. Нью-Йорк его (наконец-то) снес 
22:30 Точные прогнозы на футбол 
13:38 Осталось 3-5 месяцев до блокировки YouTube в России, — заявил Клименко 
07:11 Список обновленных тем пуст... 
17:02 Gartner обещал смерть SEO к 2026 году. Открываем метрику и проверяем 
08:25 Отвратительное поведение