SQL Phrase Index (Sphinx) is an open source software search engine designed with indexing database content in mind.
Sphinx is a standalone software package provides fast and relevant full-text search functionality to client applications. It was specially designed to integrate well with SQL databases storing the data, and to be easily accessed by scripting languages.
Applications can access Sphinx search daemon (searchd) using any of the three different access methods: a) via native search API (SphinxAPI), b) via Sphinx own implementation of MySQL network protocol (using a small SQL subset called SphinxQL), or c) via MySQL server with a pluggable storage engine (SphinxSE).
Sphinx powers many popular websites.
Key Features
- Batch and Real-Time full-text indexes.
- Indexing speed of up to 10-15 MB/sec per single core and HDD.
- Sphinx clusters scale up to tens of billions of documents and hundreds of millions search queries per day.
- Searching speed of over 500 queries/sec against 1,000,000-document on a 2-core desktop system with 2 GB of RAM.
- Batch and incremental (soft real-time) full-text indexing.
- Support for non-text attributes (scalars, strings, sets).
- Supports boolean, phrase, word proximity and other types of queries.
- Direct indexing of SQL databases. Native support for MySQL, MariaDB, PostgreSQL, MSSQL, plus ODBC connectivity.
- XML documents indexing support.
- Distributed searching support out of the box. Searches can be distributed across multiple machines, enabling horizontal scale-out and HA (High Availability).
- Integration via access APIs.
- SQL-like syntax support via MySQL protocol.
- Full-text searching syntax.
- Database-like result set processing.
- Relevance ranking utilizing additional factors besides standard BM25.
- Sphinx comes with three different APIs, SphinxAPI, SphinxSE, and SphinxQL.
- Text processing support for SBCS and UTF-8 encodings, stopwords, indexing of words known not to appear in the database (“hitless”), stemming, word forms, tokenizing exceptions, and “blended characters” (dual-indexing as both a real character and a word separator).
- Supports UDF.
- Supports stemming (stemmers for English, Russian, Czech and Arabic are built-in; and stemmers for French, Spanish, Portuguese, Italian, Romanian, German, Dutch, Swedish, Norwegian, Danish, Finnish, Hungarian, are available by building third party.
Website: sphinxsearch.com
Support: Documentation
Developer: Sphinx Technologies Inc
License: GNU General Public License v2.0
Sphinx is written in C++. Learn C++ with our recommended free books and free tutorials.
Related Software
| Search Engines for Big Data | |
|---|---|
| ElasticSearch | Flexible and powerful distributed RESTful search engine and analytics |
| Solr | Search engine server that uses Lucene |
| Lucene | Search engine library |
| Quickwit | Cloud-native search engine |
| MeiliSearch | Easy to use and deploy search engine |
| OpenSearch | Enterprise-grade search and observability suite |
| Sphinx | Search engine designed with indexing database content in mind |
| Xapian | Probabilistic information retrieval library |
| Typesense | Fast, typo-tolerant search engine |
| Manticore Search | Easy to use fast database for search |
| RediSearch | Query and indexing engine for Redis |
| ParadeDB | PostgreSQL extension adding search and analytical capabilities to Postgres |
| Vespa | AI search platform |
| Mroonga | MySQL storage engine based on the Groonga search engine |
| PGroonga | Adds a Groonga-powered index access method |
| Groonga | Fulltext search engine and column store |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

