Sphinx is an external solution for database search, which means that it runs outside the main database used for your application. It takes data from the database and creates indexes that are stored on a file system. These indexes are highly optimized for searching and your application uses an API to search the indexes.
Sphinx interacts with the database using a data source driver which comes along with Sphinx. You need to specify which data source driver should be used by Sphinx in its configuration file.
As shown at the beginning of this chapter, Sphinx is shipped with some binary programs which were installed at /usr/local/sphinx/bin
directory. Let's take a look at two principal programs that are used by Sphinx for indexing and searching purposes.
/usr/local/sphinx/etc/sphinx.conf
to know what and how to index. We will be dealing with sphinx.conf
in more detail during later chapters. searchd
client API implementations available for Sphinx.Enough talking about Sphinx, now let's see it in action…