Sobre o projeto
O Manticore Search é um banco de dados de código aberto criado especificamente para cargas de trabalho de busca, posicionado como alternativa ao Elasticsearch. Ele combina busca full-text, busca vetorial e recuperação híbrida em um único mecanismo, com indexação em tempo real para que documentos recém-inseridos ou atualizados se tornem pesquisáveis imediatamente.
Principais recursos descritos no README:
- Busca full-text com mais de 20 operadores e fatores de ranking, ranking personalizado, busca fuzzy, busca facetada, busca geoespacial, autocomplete, correção ortográfica e junções de tabelas.
- Busca vetorial e híbrida, incluindo recuperação KNN, auto-embeddings com chunking automático (tamanho fixo, recursivo ou baseado em sentenças) armazenados em um float_vector_array, e busca conversacional via SQL CALL CHAT ou o endpoint HTTP JSON /search.
- Interface SQL-first compatível com MySQL, permitindo que usuários se conectem com clientes MySQL familiares. Também são fornecidos uma API HTTP JSON e gravações compatíveis com Elasticsearch.
- Opções de armazenamento: armazenamento row-wise para velocidade, armazenamento colunar (via Manticore Columnar Library) para conjuntos de dados maiores que a RAM, e um modo docstore que evita o uso de RAM para buscar valores originais.
- Índices secundários automáticos usando o PGM-index, e um otimizador de consultas baseado em custo que usa estatísticas indexadas para escolher planos de execução.
- Execução de consultas multithread e paralelização de consultas entre núcleos de CPU.
- Tabelas shardadas que distribuem leituras e gravações entre shards em um nó ou em um cluster de replicação, com replicação multi-master virtualmente síncrona baseada em Galera e balanceamento de carga integrado.
- Autenticação e autorização integradas para MySQL, HTTP/HTTPS, agentes distribuídos e replicação, usando usuários, bearer tokens e permissões refinadas, além de suporte a HTTPS e um modo somente leitura.
- Sincronização de dados de MySQL, PostgreSQL, ODBC, MS SQL, XML, CSV e Kafka, e integrações com ProxySQL, Apache Superset, Grafana, Fluentbit, Kibana, Logstash/Filebeat, Vector.dev e mysqldump.
- Backup e recuperação por meio da ferramenta manticore-backup, do comando SQL BACKUP e de backup/restauração compatível com S3.
- Recursos de NLP incluindo stemming, lematização, stopwords, sinônimos, wordforms, tokenização de baixo nível, segmentação de chinês e destaque de texto.
- Filtragem de stream via uma tabela percolate ou integração com Kafka.
- Clientes oficiais para PHP, Python, Python asyncio, JavaScript, TypeScript, Java, Elixir, Go e Rust.
As opções de instalação incluem um instalador de shell de uma linha para Linux e macOS (Homebrew), imagens Docker, repositórios RPM e APT, Homebrew no macOS e instruções para WSL ou Windows nativo. O README observa que o projeto é distribuído sob GPLv3 ou posterior e que redistribui outros componentes de código aberto. Também afirma que o Manticore é usado por organizações como Craigslist, Socialgist, PubChem e Rozetka, e fornece links para documentação, cursos interativos, um fórum e canais no Slack e Telegram.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.