Об этом проекте
Manticore Search — это база данных с открытым исходным кодом, созданная специально для поисковых нагрузок и позиционируемая как альтернатива Elasticsearch. Она объединяет полнотекстовый поиск, векторный поиск и гибридный поиск в одном движке, с индексацией в реальном времени, благодаря чему вновь вставленные или обновленные документы становятся доступными для поиска немедленно.
Ключевые возможности, описанные в README:
- Полнотекстовый поиск с более чем 20 операторами и факторами ранжирования, настраиваемым ранжированием, нечетким поиском, фасетным поиском, геопространственным поиском, автозаполнением, исправлением орфографии и объединением таблиц.
- Векторный и гибридный поиск, включая поиск KNN, автоматические эмбеддинги с автоматической разбивкой на чанки (фиксированного размера, рекурсивной или на основе предложений), хранящиеся в float_vector_array, и разговорный поиск через SQL CALL CHAT или HTTP JSON /search endpoint.
- Интерфейс, ориентированный на SQL, совместимый с MySQL, поэтому пользователи могут подключаться с помощью знакомых MySQL-клиентов. Также предоставляются HTTP JSON API и запись, совместимая с Elasticsearch.
- Варианты хранения: построчное хранение для скорости, колоночное хранение (через Manticore Columnar Library) для наборов данных, превышающих объем ОЗУ, и режим docstore, который позволяет избежать использования ОЗУ при получении исходных значений.
- Автоматические вторичные индексы с использованием PGM-index и оптимизатор запросов на основе стоимости, использующий индексированную статистику для выбора планов выполнения.
- Многопоточное выполнение запросов и параллелизация запросов по ядрам ЦП.
- Шардированные таблицы, распределяющие чтение и запись по шардам на одном узле или по кластеру репликации, с практически синхронной multi-master репликацией на основе Galera и встроенной балансировкой нагрузки.
- Встроенная аутентификация и авторизация для MySQL, HTTP/HTTPS, распределенных агентов и репликации, с использованием пользователей, bearer-токенов и детализированных разрешений, а также поддержка HTTPS и режима только для чтения.
- Синхронизация данных из MySQL, PostgreSQL, ODBC, MS SQL, XML, CSV и Kafka, а также интеграции с ProxySQL, Apache Superset, Grafana, Fluentbit, Kibana, Logstash/Filebeat, Vector.dev и mysqldump.
- Резервное копирование и восстановление с помощью инструмента manticore-backup, команды SQL BACKUP и резервного копирования/восстановления, совместимого с S3.
- Функции NLP, включая стемминг, лемматизацию, стоп-слова, синонимы, словоформы, низкоуровневую токенизацию, сегментацию китайского языка и подсветку текста.
- Фильтрация потоков через percolate-таблицу или интеграцию с Kafka.
- Официальные клиенты для PHP, Python, Python asyncio, JavaScript, TypeScript, Java, Elixir, Go и Rust.
Варианты установки включают однострочный установщик для Linux и macOS (Homebrew), Docker-образы, репозитории RPM и APT, Homebrew на macOS, а также инструкции для WSL или нативного Windows. В README отмечается, что проект распространяется под лицензией GPLv3 или более поздней версии и что он повторно распространяет другие компоненты с открытым исходным кодом. Также указано, что Manticore используется такими организациями, как Craigslist, Socialgist, PubChem и Rozetka, и приведены ссылки на документацию, интерактивные курсы, форум, каналы Slack и Telegram.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.