Привет! На связи ICONICA, и в этом кейсе расскажем, как мы собирали и обрабатывали «большие данные» из новостных интернет-источников, создав в итоге полнофункциональный сервис поиска и анализа новостей.
О нем ничего сказать не можем, потому что подписали соглашение NDA еще на старте. Вся информация о клиенте конфиденциальна и разглашению не подлежит. Просто намекнем, что заказчик был кандидатом на выборах, а к нам обратился с целью провести мониторинг себя в интернете. Не вопрос.
Надо «нарыть» информацию в сети? Сделаем! Сначала разработаем сервис поиска новостей, а потом выдадим все данные о вас, которые годами скрывались в закоулках интернета.
Сервис поиска новостей – это цифровой инструмент, который помогает пользователям находить конкретную информацию в новостных статьях по ключевым запросам.
Технология основана на алгоритмах поиска, которые сканируют большие объемы новостного контента на наличие совпадений с ключевыми словами. В огромном цифровом ландшафте новостей и СМИ этот инструмент мониторинга особенно полезен.
Чтобы улучшить функционал сервиса, к поиску по ключевым словам мы добавили различные фильтры:
· география;
· период времени;
· типы источников и другие.
Эти функции позволяют организовать эффективную работу с новостным контентом и автоматически находить в тексте объекты (людей, бренды, локации) и факты (награды, конфликты, увольнения и т.д.).
Стек технологий, используемых командой в проекте по мониторингу, был довольно обширным.
Админку создавали на базе прогрессивного фреймворка VueJS. Это оптимальное решение для разработки пользовательских интерфейсов и одностраничных веб-приложений на JavaScript. Плюсы Vue – гибкость и способность постепенно адаптироваться.
За базу взяли 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 с удовольствием возьмет на себя решение самых разных бизнес-запросов и задач. Даже если кому-то они кажутся странными или невыполнимыми) Мы стремимся удовлетворить все требования клиентов, превращая их идеи в уникальную веб-реальность и даем бизнесам необходимый рост и развитие.