public
Description: Ambition adapter for Sphinx
Clone URL: git://github.com/technicalpickles/ambitious-sphinx.git
Mon Feb 18 13:12:42 -0800 2008
commit  ab233553df8a754d592a0cdf9579aced08b7e5e2
tree    6b636265d0800e3af3487e10d90ab2690e28da3d
parent  3853078d15777ca4765162c3287908ccc199406e
name age message
file .gitignore Thu Jan 24 19:12:53 -0800 2008 Ignore .gemspecs. [Josh Nichols]
file LICENSE Tue Feb 12 19:13:52 -0800 2008 Added names to license. Updated gem spec stuff. [Josh Nichols]
file Manifest Mon Feb 18 13:12:42 -0800 2008 Support paging. [technicalpickles]
file README Tue Feb 12 17:45:48 -0800 2008 Updated README [Josh Nichols]
file Rakefile Fri Feb 15 12:58:55 -0800 2008 Updated rubyforge address. [technicalpickles]
directory config/ Thu Jan 24 19:11:00 -0800 2008 Imported ambitious sphinx. [Josh Nichols]
directory lib/ Mon Feb 18 13:12:42 -0800 2008 Support paging. [technicalpickles]
directory test/ Thu Feb 07 12:25:56 -0800 2008 Removed some unnecessary specs. [Josh Nichols]
README
An Ambitious Sphinx Adapter
===========================

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

Want to find all meals that mention bacon?

  Meal.select {'bacon'}

What about bacon bits and sour cream?

  Meal.select {'bacon bits' && 'sour cream'}

Maybe with bacon in the name, or cheese in the recipe?

  Meal.select {|m| m.name =~ 'bacon' || m.recipe =~ 'cheese'}

Cheese in the name, but not grilled?

  Meal.select {|m| m.name =~ 'bacon' && m.name !~ 'grilled'}
  

### Big honking disclaimer

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

### Getting Started

You will need the following gems to use ambitious-sphinx:

  gem install ambition
  gem install ultrasphinx
  

  Now install it as ambitious-sphinx:

    sudo rake install
    
  Require our files somewhere, like at the end of config/environment.rb
  
    require 'ambition/adapters/ambitious_sphinx'
    
  You will also need to go through the motions of setting up ultrasphinx. This includes setting up sphinx itself, and 
  modifying your model to indicate what's to be indexed, and so on.

### Playing with the code base

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

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

### More information on Sphinx:

 -> http://www.sphinxsearch.com/
 -> http://blog.evanweaver.com/articles/2007/07/09/ultrasphinx-searching-the-world-in-231-seconds/
 -> http://blog.evanweaver.com/files/doc/fauna/ultrasphinx/files/README.html

### More information on Ambition:

-> http://ambition.rubyforge.org
-> http://groups.google.com/group/ambition-rb/