Пресечение дублирования результатов запросов по показателю релевантности.
Страницы: 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)
Новые темыОбъявленияСвободное общение
22:45 Всем привет! 
19:37 Xrumer-полезный софт или нет? 
17:26 AI под надзором. Минцифры готовят клеймо для контента 
17:23 APK на паузе. Google убивает быстрый конверт 
17:18 Яндекс-ап 20 марта и похороны ChatGPT, Claude и Gemini. Считаем убытки 
15:02 Слипание слов в блоке 
10:39 MAX попер в бурж: 40 стран, ведение каналов и горы дешевого трафика 
17:24 Обменный Сервис - Купец (Kupec.cc) 
15:52 Продам аккаунты Gmail USA IP | Gmail MIX IP | Outlook Old 
14:06 Продвижение YouTube видео в топ поиска | Любой тип контента | Гарантия результата 
14:06 №1 Рассылка / Инвайтинг [TELEGRAM] | Приватный метод 
14:06 Trustpilot Reviews | Подниму рейтинг вашей компании 
14:06 Установка|Настройка|Доработка|Наполнение сайтов|Дизайн|3D|Видеомонтаж 
13:24 Мобильные и Резидентные Прокси Для Соц Сетей | 3 Гб Бесплатно 
01:42 Точные прогнозы на футбол 
00:53 Сайты Рунета 
21:59 8 марта: желаю аптайма 99.9% и e-e-a-t без локов 
21:22 молодильные яблоки и живая вода 
08:52 Чак Норрис ушел - 19 марта 2026, 86 лет, семья подтвердила 
20:23 Панель Кнопки соцсетей 
14:03 Огородники