Chapter 3. Basic Indexing
The preceding chapter should have given you an idea of how Sphinx works in general, how you install it, and how you create simple indexes. But there’s much more to indexing and searching. This chapter covers “basic” indexing concepts and techniques that you need to know and use on a daily basis (those days when you’re actually working with Sphinx, of course).
Indexing SQL Data
There is usually something more to fetching data to index than just
a single SQL SELECT
*
kind of a query, and Sphinx has a number of features
to support that complexity. In real-world
environments, you likely need to perform certain maintenance SQL actions
at different indexing stages. For performance reasons, on databases that
seem to be growing by orders of magnitude these days, you would also want
to avoid selecting everything in one go, and instead, divide and conquer.
Sphinx SQL sources provide the following kinds of queries to let you do
that:
Main data-fetching query (the only one you are required to have)
Pre-queries (run before the main query)
Post-queries (run after main the query)
Post-index queries (run on indexing completion)
Ranged queries (a mechanism to run multiple parameterized main queries)
Main Fetch Query
Every SQL data source should be associated with an sql_query
directive, which runs the
main data-fetching query and indexes the database rows it returns. The first column in the query is always interpreted as a document ID, and other columns are interpreted either as ...
Get Introduction to Search with Sphinx now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.