Datafari - открытая платформа корпоративного поиска, которую разрабатывает французская компания France Labs. Это большой и зрелый продукт: он существовал задолго до того, как я к нему присоединился. Я отвечаю за поисковый интерфейс и работаю над его последней версией - вторым поколением UI, переписанным с нуля. Я начал заниматься Datafari в 2023 году и веду проект до сих пор, выпуская новые возможности и исправления.
Сложная архитектура
За внешней простотой одной строки поиска стоит большая, тщательно продуманная система. Состояние приложения разделено почти на два десятка независимых модулей на Redux Toolkit, и за каждым из них закреплён собственный сервис в слое доступа к API - таких сервисов больше двадцати. Поиск и расширенный поиск, подсказки, фасеты, агрегаторы источников, сохранённые поиски, оповещения, избранное, корзина документов, элевация результатов, экспорт, ответы по RAG, инструменты администратора - каждая часть аккуратно изолирована, а вместе они складываются в единый связный интерфейс. Такую систему легко расширять и трудно сломать: новая возможность не задевает соседние, а границы между модулями заданы явно.
Расширенный поиск
Сердце проекта - поиск, и он устроен совсем не просто. Помимо обычного полнотекстового запроса здесь есть расширенный конструктор: точные и исключающие условия, фильтры по полям и датам, фасеты, автодополнение на лету, агрегация результатов сразу из нескольких источников. Всё это работает поверх корпоративного поискового движка, который подключает десятки разных хранилищ данных, и интерфейсу приходится представить пользователю эту сложность ясно и быстро, чтобы мощный поиск оставался понятным.
