Прочтите следующие тексты, чтобы избежать недопонимания: Объявление можно закрыть, нажав на крестик справа вверху.

Алгоритм добавления страницы

Аватара пользователя
Rustam
Администратор
Сообщения: 2560
Зарегистрирован: 19 фев 2017, 00:12
Контактная информация:

Алгоритм добавления страницы

Сообщение Rustam » 08 июл 2017, 09:38

Входящие: site_id, page_url
Возвращаемые: TRUE если без ошибок, иначе FALSE.

1) Получаем содержимое страницы по указанному url
2) Извлекаем из БД информацию о сайте по указанному id
3) Если плохой url, timeout, петля перенаправлений и так далее, то добавляем страницу и устанавливаем для неё статус добавления с ошибкой. Также добавляем её к текущему списку страниц у сайта и выходим с FALSE.
4) Проверка кода возврата. Если код возврата не 200, то добавляем страницу и устанавливаем для неё статус добавления с ошибкой кода возврата и добавляем её к текущему списку страниц сайта. Выходим с FALSE.
5) Получаем кодировку страницы и перекодируем в UTF-8.
6) Если у сайта в настройках указаны специальные классы, в которых находятся заголовок и содержимое страницы, то извлекаем их оттуда, иначе берём содержимое метатега title и весь текст, что нам попадается.
7) Выкидываем из текста всё лишнее (теги, цифры, ненужные слова и т.д.).
8) Если слов в тексте меньше, чем M, то выходим с ошибкой "недостаточно текста", добавляя страницу в БД, сохраняя только заголовок.
9) Стеммизируем слова, оставляя основу слова.
10) Строим частотный массив.
11) Выбираем N (сейчас = 20) слов, которые чаще всего употребляются.
12) Берём описание страницы K символов.
13) Добавляем страницу в БД с успешным статусом. Добавляем страницу к списку страниц сайта.
14) Записываем слова, их повторяемость и частотность для каждой страницы в БД, сохраняя для каждого слова список страниц, на котором оно встретилось. Если слова в БД нет, то добавляем, иначе обновляем счётчик повторяемости +1.
15) Находим похожие страницы
16) Конец. Вернуть TRUE.

Ссылка:
BBcode:
HTML:
Скрыть ссылки на пост
Показать ссылки на пост

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость