I am not a fan of services that give spelling suggestions based on their own web-wide universe of terms. It's better to suggest only terms that are actually found within the smaller universe of your own materials. That way the user isn't offered a link that's guaranteed to get them zero results. However, this only works if you're actually indexing the contents of all your sources into a local index -- not if you're dynamically retrieving the results from different sources.
I don't have personal experience with any of the options you list, but from briefly looking at them, I would be inclined toward Aspell since you'd control the dictionary.
Ideally the dictionary would auto-populate from the index the search engine builds. We use Thunderstone Webinator http://www.thunderstone.com for our website search and it uses its own index for the spelling suggestions. It also lists in parentheses the number of results that match each suggestion. http://www.sonomalibrary.org/search
Genny Engel
Sonoma County Library
[log in to unmask]
707 545-0831 x581
www.sonomalibrary.org
>>> [log in to unmask] 04/30/10 06:55AM >>>
I'm exploring options for implementing a spelling suggestion or basic query reformulation service in our home grown search application (searches library website, catalog, summon, and a few other bins). Right now, my thought is to provide results for whatever was searched for 'as is' and generate a link for an alternate search -- sort of like what The Google does. I am concerned only with correcting spelling errors, not so much with topically related search suggestions.
The 3 options I've found that seem worth further investigation are:
- Yahoo Search spellingSuggestion service: http://developer.yahoo.com/search/web/V1/spellingSuggestion.html
- GNU Aspell: http://aspell.net
- Ockham Spell service: http://spell.ockham.org/about/index.html . There is a thread on Code4Lib back in 2005 about this: http://serials.infomotions..com/code4lib/sru/?operation=searchRetrieve&version=1.1&stylesheet=/code4lib/sru/style.xsl&query=spelling+server
Anyone doing something like this? What tools are you using? What have you tried? What worked well? Have I overlooked an option that I should consider?
Thanks,
Cory
Cory Lown
NCSU Libraries
Raleigh, NC
[log in to unmask]
|