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.
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.
Sphinx development was started back in 2001, because I didn't manage to find an acceptable search solution (for a database driven Web site) which would meet my requirements.
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.
Technically, Sphinx is a standalone software package provides fast and relevant full-text search functionality to client applications.
However, Sphinx does not depend on nor require any specific database to function.
Applications can access Sphinx search daemon (searchd) using any of the three different access methods: a) via Sphinx own implementation of My SQL network protocol (using a small SQL subset called Sphinx QL, this is recommended way), b) via native search API (Sphinx API) or c) via My SQL server with a pluggable storage engine (Sphinx SE).
Official native Sphinx API implementations for PHP, Perl, Python, Ruby and Java are included within the distribution package.