Unfortunately ThinkingSphinx is not an option for DataMapper (though they say support is planned). We’re using Realtime Indexes, so we need at least Sphinx version 1.1 (we’re actually running version 2.0, but 1.1 should still work fine). I’ve seen dm-sphinx-adapter, but that looks unmaintained and very much like a hack (you pull out the IDs manually, then search as normal… which makes me wonder what the adapter is even offering).
Anything else I may not have seen? 🙂
EDIT | Hmm, actually, somebody’s fork of dm-sphinx-adapter has a nicer README that gives some options. Using the is :searchable plugin makes things a bit nicer. But I’m still keen to see more options with a sexy API that’s nicely abstracted to fit more with standard DataMapper conventions.
EDIT 2 | dm-sphinx-adapter is a dead project. Since Riddle (the pure-ruby client that ThinkingSphinx uses) is open source, I think I’ll set about writing my own. Doesn’t look like there’s anything out there.
I ended up (many months later) creating oedipus and oedipus-dm:
https://github.com/d11wtq/oedipus-dm
We are using this successfully with our RT indexes. We still have a lot to do, however.