Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pat/thinking-sphinx-raspell
An add-on gem for spelling suggestions in Thinking Sphinx
https://github.com/pat/thinking-sphinx-raspell
Last synced: about 6 hours ago
JSON representation
An add-on gem for spelling suggestions in Thinking Sphinx
- Host: GitHub
- URL: https://github.com/pat/thinking-sphinx-raspell
- Owner: pat
- License: mit
- Created: 2009-10-03T23:43:47.000Z (over 15 years ago)
- Default Branch: master
- Last Pushed: 2020-03-03T01:55:55.000Z (almost 5 years ago)
- Last Synced: 2024-12-26T15:42:46.016Z (15 days ago)
- Language: Ruby
- Homepage: http://pat.github.io/thinking-sphinx
- Size: 24.4 KB
- Stars: 58
- Watchers: 4
- Forks: 11
- Open Issues: 0
-
Metadata Files:
- Readme: README.textile
- License: LICENSE
Awesome Lists containing this project
README
*Please Note*: This project is no longer supported. It only works with Thinking Sphinx v1/v2, whereas the v3+ releases are what has been actively supported since 2012. Patches are welcome to rewrite this for v3 support if anyone's feeling particularly keen to modernise this gem.
h1. Thinking Sphinx with Raspell
This library adds Aspell/Raspell support to "Thinking Sphinx":http://pat.github.io/thinking-sphinx
h2. Installation
You'll need "the Aspell library":http://www.aspell.net (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":http://github.com/evan/raspell.
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'
h2. 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|
# ...
endh2. 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'] = trueYou 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":http://rdoc.info/projects/freelancing-god/thinking-sphinx-raspell. This isn't a big library, though - what you see in this readme is pretty much what you get.
h2. 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.
h2. Copyright
Copyright (c) 2009-2011 "Pat Allan":http://freelancing-gods.com. Released under an MIT licence.