Sphinx is an open-source full text search engine. It was designed with simplicity, performance, relevance (aka search quality), as well as integration simplicity in mind. It is written in C++ and can be used on Linux (RedHat Ubuntu, etc), Windows and MacOS, Solaris and FreeBSD. Sphinx allows you to either batch index and store search data in an SQL database, NoSQL or just files, or index and search data as needed. It works almost exactly the same way with a database server. Sphinx offers a variety of text processing options that allow you to fine tune it for your specific application requirements. You can also adjust the quality of search results with a number relevance functions. SphinxAPI allows you to search in just 3 lines of code. SphinxQL allows you to query your results using SQL. Sphinx indexes between 10-15 MB and 60 MB per second on a single CPU core.