manticoresearch  by manticoresoftware

SQL-native search database for full-text, vector, and hybrid queries

Created 9 years ago
11,890 stars

Top 4.4% on SourcePulse

GitHubView on GitHub
Project Summary

Manticore Search is an open-source, high-performance database designed for full-text, vector, and hybrid search, offering a cost-efficient alternative to solutions like Elasticsearch. It targets developers and organizations requiring fast, scalable search capabilities with real-time indexing and a familiar SQL interface. Its primary benefit is delivering superior speed and lower resource consumption compared to competitors, enabling more efficient data retrieval and analysis.

How It Works

Manticore Search employs a modern multithreading architecture with efficient query parallelization to maximize CPU utilization for rapid response times. It supports advanced search types including full-text, hybrid (combining text and vector retrieval), and conversational search leveraging KNN and LLM integration via SQL. Data can be stored efficiently using either row-wise or columnar formats, with PGM-index providing performant secondary indexes. A cost-based query optimizer selects the most efficient execution plans, and the system offers SQL-first querying with MySQL protocol compatibility. Built in C++, it boasts low memory footprint and real-time indexing for immediate data accessibility.

Quick Start & Requirements

  • Installation:
    • Linux/macOS (one-liner): curl https://manticoresearch.com | sh
    • Docker: docker run --name manticore --rm -d manticoresearch/manticore
    • Package Managers: RPM/APT repositories available for Linux distributions.
    • macOS (Homebrew): brew install manticoresoftware/tap/manticoresearch
    • Windows: WSL/WSL2 recommended.
  • Prerequisites: No specific non-default prerequisites are listed for basic installation.
  • Resources: An empty instance uses minimal RAM (~40MB RSS).
  • Links: Website, Docs, Blog, Community Forum, Slack, Telegram

Highlighted Details

  • Performance: Claims up to 182x faster than MySQL and 5-29x faster than Elasticsearch on various benchmarks, with up to 2x higher data ingestion throughput than Elasticsearch.
  • Search Capabilities: Supports hybrid (text + vector), conversational search with LLM integration, full-text operators, fuzzy search, geospatial, and faceted search.
  • Data Handling: Offers row-wise and columnar storage, real-time indexing, and virtually synchronous multi-master replication.
  • Compatibility: SQL-first interface compatible with the MySQL protocol, with clients available for multiple languages (PHP, Python, Java, Go, etc.).

Maintenance & Community

Manticore Search was forked from Sphinx in 2017. The project maintains active community channels including a forum, Slack, and Telegram groups. Commercial support, consulting, and training services are offered.

Licensing & Compatibility

Manticore Search is distributed under the GPLv3 or later license. This copyleft license may impose restrictions on linking with closed-source or proprietary software.

Limitations & Caveats

While Manticore Search supports isolated transactions and binary logging for data safety, it is not fully ACID-compliant. Specific performance characteristics may vary based on data types, storage formats, and query complexity.

Health Check
Last Commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
66
Issues (30d)
24
Star History
84 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.