top of page

Searching Using SphinxSE

As in my last blog I have described in details how to integrate Sphinx engine with MySQL . Now in this blog I will discuss about the configuration of sphinx.conf file for the index and how to do the searching of words from MySQL using SphinxSE. For this I have taken the example of simple document searching of text using sphinx.

Time for action – creating a basic search script:

  • listen: This options specifies the IP address and port that searchd will listen on. It can also specify the Unix-domain socket path. This options was introduced in v0.9.9 and should be used instead of the port (deprecated) option. If the port part is omitted, then the default port used is 9312.Examples:

listen = localhost

listen = 9312

listen = localhost:9898

listen =

listen = /var/run/sphinx.s

  • log: Name of the file where all searchd runtime events will be logged. This is an optional setting and the default value is “searchd.log”.

  • query_log: Name of the file where all search queries will be logged. This is an optional setting and the default value is empty, that is, do not log queries.

  • max_children: The maximum number of concurrent searches to run in parallel. This is an optional setting and the default value is 0 (unlimited).

  • pid_file: Filename of the searchd process ID. This is a mandatory setting. The file is created on startup and it contains the head daemon process ID while the daemon is running. The pid_file becomes unlinked when the daemon is stopped.

Next step is to Create the Indexes:

We have to generate the indexes which are going to be used for searching.

Starting the Searchd Demon:

Sphinx search demon will start in the back ground and will start listening on the ports 9306 for mysql requests.

How to search the Sphinx index from MySQL:

First we have create the table which will link the sphinx index with mysql. Now login to MySQL

Now we can query the indexes and search the data against any work.

Sphinx Matching Modes:

We can use the following matching modes in sphinx for changing the search relevance .

There are the following matching modes available:

  • SPH_MATCH_ALL, matches all query words

  • SPH_MATCH_ANY, matches any of the query words

  • SPH_MATCH_PHRASE, matches query as a phrase, requiring perfect match

  • SPH_MATCH_BOOLEAN, matches query as a boolean expression

  • SPH_MATCH_EXTENDED, matches query as an expression in Sphinx internal query language


  • SPH_MATCH_FULLSCAN, matches query, forcibly using the "full scan" mode as below. NB, any query terms will be ignored, such that filters, filter-ranges and grouping will still be applied, but no text-matching.

37 views0 comments

Recent Posts

See All

What are the future prospects of Java

According to a survey conducted, nearly 63% programmers mentioned that they will likely continue to work with Java along with coding with Python, SQL and HTML/CSS. In addition, the giants in the corpo

Deleting Duplicate Rows in MySQL

In this blog, you will study several ways to delete duplicate rows in MySQL. In this blog, I have shown you how to find duplicate values in a table. Once the duplicates rows are recognized, you may ne

Upload Data to MySQL tables using mysqlimport

Uploading quite a lot of rows of data from a text, csv, and excel file into a MySQL table is a repetitive task for sysadmins and DBAs who are handling MySQL database. This blog clarifies 4 applied exa


bottom of page