Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Ambition adapter for Sphinx
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


= An Ambitious Sphinx Adapter

I don't know about you, but I like me some sexy full-text searching.

== The basics

Want to find all meals that mention bacon? {'bacon'}

What about bacon bits and sour cream? {'bacon bits' && 'sour cream'}

Maybe with bacon in the name, or cheese in the recipe? {|m| =~ 'bacon' || m.recipe =~ 'cheese'}

Cheese in the name, but not grilled? {|m| =~ 'bacon' && !~ 'grilled'}

== Pagination

You're going to want to use pagination. Ultrasphinx, the underlying library, only supports it, as in, you can't just get all the objects matching your query. You _have_ to use paging.

It's pretty simple: {'bacon'}.page(2) {'bacon'}.page(3)

== Big honking disclaimer

We're still learning a lot about how sphinx and ambition work, so things are likely to change a lot, and features are likely to be missing.

== Getting Started

=== Installing

  sudo gem install ambitious-sphinx
=== Add it to your app
Require our files somewhere, like at the end of config/environment.rb, maybe create config/initializers/sphinx.rb

  require 'ultrasphinx'
  require 'ambition/adapters/ambitious_sphinx'
=== Sphinx and Ultrasphinx
You will also need to go through the motions of setting up ultrasphinx.

This includes:

 * Configuring/installing sphinx
 * Modifying your model to indicate what's to be indexed
 * Bootstrapping ultrasphinx
All this is discussed in detail in ultrasphinx's README

== Playing with the code base

In addition to the other dependencies, you'll need to:

  gem install echoe redgreen mocha test-spec
Run the tests with:
  rake test

== More information on Sphinx:


== More information on Ambition:

Something went wrong with that request. Please try again.