Sphinx is a full-text search engine, publicly distributed under GPL version 2. It was specially designed to integrate well with SQL databases storing the data, and to be easily accessed by scripting languages.
As for the name, Sphinx is an acronym which is officially decoded as SQL Phrase Index. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the GNU General Public License for more details.You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Non-GPL licensing (for OEM/ISV embedded use) can also be arranged, please contact us to discuss commercial licensing possibilities.Official native Sphinx API implementations for PHP, Perl, Python, Ruby and Java are included within the distribution package.API is very lightweight so porting it to a new language is known to take a few hours or days.
Third party API ports and plugins exist for Perl, C#, Haskell, Ruby-on-Rails, and possibly other languages and frameworks.Starting from version 1.10-beta, Sphinx supports two different indexing backends: "disk" index backend, and "realtime" (RT) index backend.Disk indexes support online full-text index rebuilds, but online updates can only be done on non-text (attribute) data.RT indexes additionally allow for online full-text index updates. Data can be loaded into disk indexes using a so-called data source.Built-in sources can fetch data directly from My SQL, Postgre SQL, MSSQL, ODBC compliant database (Oracle, etc) or a pipe in TSV or a custom XML format. to natively support other DBMSes) is designed to be as easy as possible.RT indexes, as of 1.10-beta, can only be populated using Sphinx QL.