public
Description: Ambition adapter for Sphinx
Clone URL: git://github.com/technicalpickles/ambitious-sphinx.git
Josh Nichols (author)
Tue Feb 12 17:45:48 -0800 2008
commit  be4cc422fcc59b13717d0dec8377e4918d380349
tree    a70a38589e52f7cd80d1ddb6231ea324a0cbe9ca
parent  c629eb5cfdb2fe8d79017da6f277d201f3c8c41a
name age message
file .gitignore Thu Jan 24 19:12:53 -0800 2008 Ignore .gemspecs. [Josh Nichols]
file LICENSE Wed Jan 30 22:02:56 -0800 2008 Updated docs, added real license. [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 Wed Jan 30 22:04:22 -0800 2008 Added dependency on ultrasphinx. [Josh Nichols]
directory config/ Thu Jan 24 19:11:00 -0800 2008 Imported ambitious sphinx. [Josh Nichols]
directory lib/ Thu Feb 07 12:24:10 -0800 2008 Some slight wording changes. Updated =~ spec to... [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/