Have you ever felt so close to someone that it seemed like the two of you were finishing each other's sentences? Well, as a Valentine's Day gift to the community, we at SeatGeek have distilled some of Cupid's magic into a Redis-backed service for doing exactly that: Soulmate is a tool for building fast autocompleters.
Give it a try right now on SeatGeek.
Inspired by Auto Complete with Redis, Soulmate uses sorted sets to build an index of partially completed words and the corresponding top matching items, and provides a simple sinatra app to query them.
Here's a quick overview of what the initial version of Soulmate supports:
- Provide suggestions for multiple types of items in a single query (at SeatGeek we're autocompleting for performers, events, and venues)
- Results are ordered by a user-specified score
- Arbitrary metadata for each item (at SeatGeek we're storing both a url and a subtitle)
Checkout the github repo for instructions on how to use it, or if you're feeling saucy, just `gem install soulmate`.