Skip to content

sofatutor/thinking-sphinx-raspell

 
 

Repository files navigation

Thinking Sphinx with Raspell

This library adds Aspell/Raspell support to Thinking Sphinx.

Installation

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 Gemfile:

gem 'thinking-sphinx-raspell', '1.1.2',
  :require => 'thinking_sphinx/raspell'

Or, if using older versions of Rails, your config/environment.rb file:

config.gem 'thinking-sphinx-raspell',
  :lib     => 'thinking_sphinx/raspell',
  :version => '>= 1.1.2'

Or, if you wish to do a manual require yourself:

require 'thinking_sphinx/raspell'

Usage

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

Configuration

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.options['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 require more control over the Aspell options you can also pass in your own instance:

config = ThinkingSphinx::Configuration.instance
config.raspell.speller = Aspell.new('en_GB')

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.

Limitations

  • Only checks normal query strings, not field-specific queries via the :conditions hash.

Patches are very much welcome – I would like to address this last remaining limitation.

Copyright

Copyright © 2009-2011 Pat Allan. Released under an MIT licence.

About

An add-on gem for spelling suggestions in Thinking Sphinx

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%