delta indexing support in ultrasphinx

Ahead of schedule, Ultrasphinx 1.9 is out with delta indexing, ERB support in the .base files, and official compatibility with Sphinx 0.9.8-rc1.

what it is

Delta indexing speeds up your updates by not reindexing the entire dataset every time. Instead, it keeps a main index which is updated rarely, and a delta index, which is updated frequently and only contains recently changed records.

Of course, your records need timestamps for this to work.

See the documentation for more details. There is also an explanation of the implementation on the forum.


Note that there are some gotchas surrounding Sphinx and index merges, mainly that facet counts and text sorting may not be perfectly accurate. In an append-rich environment (most web apps) these tend not to matter.

3 responses

  1. Fantastic work Evan; this was the last missing piece of functionality to make Sphinx the perfect search engine.

  2. I’ve just enjoyed switching to Ultrasphinx from Ferret—after using HMP for a long time—and I have to say that this is the only place in the whole Rails hype-ology where I’ve found good documentation, thoughtful examples and a general air of relaxed competence. Bravo! You made an old Perl hacker feel right at home.