public
Description: Ambition adapter for Sphinx
Clone URL: git://github.com/technicalpickles/ambitious-sphinx.git
Fri Feb 15 12:58:55 -0800 2008
commit  a891de9dffa3651863c5f40155af2542a342deb8
tree    ab8f79689e1d797a23b5bbf39e3e023550576b81
parent  01e0b4203bd119c4eed9d6e461f330c112e5bfa1
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 Thu Jan 24 19:11:00 -0800 2008 Imported ambitious sphinx. [Josh Nichols]
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/ Tue Feb 12 18:51:42 -0800 2008 More RDoc. [Josh Nichols]
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/