Overview of Sphinx

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.

Primary programs

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.

  • indexer: This program is used for indexing and re-indexing full-text indexes. By default, Sphinx reads the configuration file at /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: This is the daemon used for searching the indexes. It requires a client to access the Sphinx API. There are a number of searchd client API implementations available for Sphinx.

Enough talking about Sphinx, now let's see it in action…

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset