Кейс: как мы в ICONICA мониторили кандидата перед выборами и создали сервис поиска новостей

2024-08-08 12:54:56 Время чтения 5 мин 133

Привет! На связи ICONICA, и в этом кейсе расскажем, как мы собирали и обрабатывали «большие данные» из новостных интернет-источников, создав в итоге полнофункциональный сервис поиска и анализа новостей.

Сначала о заказчике

О нем ничего сказать не можем, потому что подписали соглашение NDA еще на старте. Вся информация о клиенте конфиденциальна и разглашению не подлежит. Просто намекнем, что заказчик был кандидатом на выборах, а к нам обратился с целью провести мониторинг себя в интернете. Не вопрос.

Надо «нарыть» информацию в сети? Сделаем! Сначала разработаем сервис поиска новостей, а потом выдадим все данные о вас, которые годами скрывались в закоулках интернета.

Теперь о сервисе, который нам предстояло разработать

Сервис поиска новостей – это цифровой инструмент, который помогает пользователям находить конкретную информацию в новостных статьях по ключевым запросам.

Технология основана на алгоритмах поиска, которые сканируют большие объемы новостного контента на наличие совпадений с ключевыми словами. В огромном цифровом ландшафте новостей и СМИ этот инструмент мониторинга особенно полезен.

Чтобы улучшить функционал сервиса, к поиску по ключевым словам мы добавили различные фильтры:

· география;

· период времени;

· типы источников и другие.

Эти функции позволяют организовать эффективную работу с новостным контентом и автоматически находить в тексте объекты (людей, бренды, локации) и факты (награды, конфликты, увольнения и т.д.).

Технологии, которые использовали

Стек технологий, используемых командой в проекте по мониторингу, был довольно обширным.

Фронтенд

Админку создавали на базе прогрессивного фреймворка VueJS. Это оптимальное решение для разработки пользовательских интерфейсов и одностраничных веб-приложений на JavaScript. Плюсы Vue – гибкость и способность постепенно адаптироваться.

Бэк для фронта (MVC)

За базу взяли PHP + Yii2. Это динамично развивающийся, компонентный фреймворк на PHP с хорошо проработанной документацией и множеством готовых написанных расширений. Он реализует архитектуру MVC, когда блок №1 отвечает за данные, блок №2 – за внешний вид, а блок №3 – за работу приложения.

Также использовали Sphinx для создания обширной и качественной документации и поисковый сервер Manticore Search – для быстрого, масштабируемого и точного полнотекстового поиска.

Микросервисы

· Python

· Asyncio

· FastAPI, Flask, Django – REST микросервисов

· Celery – распределенное выполнение задач

· Scrapy, Srapy-cluster – для сбора данных

· Faust-streaming – для обработки потоковых данных

Инфраструктура

· Kafka – брокер для обработки потоков данных в режиме онлайн.

· Redis – хранилище для оперативной информации, а также в качестве брокера для Celery.

· MySQL – хранение общей информации о пользователях, ролях, настройках в системе.

· Clickhouse – хранение больших объемов данных (например, новостей).

Что в итоге?

Заказчик получил удобный и эффективный в работе инструмент для мониторинга новостного контента. Сервис помог одержать победу в выборах и сейчас используется для отслеживания новостей и различных информационных поводов.

Веб-разработка может выполнять самые разные задачи. Наша команда программистов и разработчиков ICONICA с удовольствием возьмет на себя решение самых разных бизнес-запросов и задач. Даже если кому-то они кажутся странными или невыполнимыми) Мы стремимся удовлетворить все требования клиентов, превращая их идеи в уникальную веб-реальность и даем бизнесам необходимый рост и развитие.