Поиск «похожих» статей в RSS-канале с PHP - PullRequest
1 голос
/ 02 апреля 2012

Есть кое-что, что я пытаюсь выполнить, хотя я не совсем уверен, с чего начать.

В настоящее время у меня есть база данных MySql со списком статей.БД содержит заголовок статьи, содержание и некоторую другую информацию, например даты и т. Д.

Существует канал RSS, который мы отслеживаем для новых статей, это канал оповещений Google, который просто содержит последние новости по определенным темам.,Я хочу иметь возможность автоматически отслеживать этот фид и записывать любые элементы фида, похожие на истории в нашей базе данных.

Я знаю, как настроить автоматический запуск скрипта, и знаю, как анализировать RSSкормить с помощью SimplePie.

Мне нужно выяснить, как получить описание элементов RSS-ленты, выполнить проверку в нашей БД, чтобы увидеть, похож ли элемент канала на то, что есть в нашей БД,и вернуть какой-то числовой балл, вроде как «рейтинг сходства» или что-то в этом роде.

После этого я могу записать нужную мне информацию в БД, если «рейтинг сходства» превышает установленный пределЯ знаю, как это сделать.

Поэтому моя единственная проблема - как сравнить каждый элемент фида с нашими текущими статьями и получить оценку, основываясь на том, насколько он похож.

1 Ответ

1 голос
/ 02 апреля 2012

Функция Левенштейна (доступная как для PHP, так и для MySQL) - хороший способ справиться с этим.Он в основном вычисляет значение на основе количества перестановок (замен, перемещений и т. Д.), Необходимых для преобразования одной строки в другую.Эта оценка будет вашим «рейтингом сходства».

РЕДАКТИРОВАТЬ: функция Левенштейна изначально недоступна в MySQL, но есть ее реализации SQL, которые вы можете использовать, например: http://kristiannissen.wordpress.com/2010/07/08/mysql-levenshtein/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...