Thinking Sphinx with Raspell
This library adds Aspell/Raspell support to Thinking Sphinx.
You’ll need the Aspell library (easily compiled by source, or installed via Homebrew or MacPorts). Don’t forget to install the English library as well – there’s instructions for both in Evan Weaver’s Raspell README.
Once that’s set up, grab the gem:
gem install thinking-sphinx-raspell
You’ll want to add the gem to your
gem 'thinking-sphinx-raspell', '1.1.1', :require => 'thinking_sphinx/raspell'
If you’re using Ruby 1.9,
raspell doesn’t currently work, but recent commits to this library now use
dmarkow-raspell instead – so use Github as your source:
gem 'thinking-sphinx-raspell', :git => 'git://github.com/freelancing-god/thinking-sphinx-raspell.git'
Or, if using older versions of Rails, your
config.gem 'thinking-sphinx-raspell', :lib => 'thinking_sphinx/raspell', :version => '>= 1.0.0'
Or, if you wish to do a manual require yourself:
By default, Thinking Sphinx will not overwrite your search query, but you can view suggestions:
@articles = Article.search 'pnacakes' @articles.suggestion? #=> true @articles.suggestion #=> 'pancakes'
You can also choose to redo the search using the provided suggestion:
@articles.redo_with_suggestion @articles.each do |article| # ... end
You can customise the following settings – either in your
config/environment.rb file, or perhaps in an initializer. Example syntax below highlights the current defaults.
config = ThinkingSphinx::Configuration.instance config.raspell.dictionary = 'en' config.raspell.suggestion_mode = :normal config.raspell.['ignore-case'] = true
You can look at the available options using the following two collections:
config = ThinkingSphinx::Configuration.instance config.raspell.dictionaries #=> ['en', 'en_GB', 'en_US', ... ] config.raspell.suggestion_modes #=> [:ultra, :fast, :normal, :badspellers]
If you need more documentation, you can check out the YARD files on rdoc.info. This isn’t a big library, though – what you see in this readme is pretty much what you get.
- Only checks normal query strings, not field-specific queries via the
Patches are very much welcome – I would like to address this last remaining limitation.
Copyright © 2009-2011 Pat Allan. Released under an MIT licence.