Integrated query spell checking is bundled with LucidWorks, with the option to integrate third-party enhanced spell checking capabilities. Spell checking and auto-complete is index-driven, meaning all suggestions are derived from the actual content in an indexed collection and not from a predefined dictionary of words. In practical terms, this helps solve the all-too-familiar case of working with messy data written by a variety of authors of varying quality. One author may spell a word one way, while another author spells it a different way. Meanwhile, the user spells it a third way. An index-derived spell checker provides suggestions based on the (sometimes incorrect) words in the dictionary, ensuring that end users still find relevant documents even if they contain misspellings.
|Spell Check Settings are Per Collection|
The indexes created for spell checking are unique to each collection, and based on the documents indexed for a particular collection. In a multi-collection environment, the steps to enable spell checking must be done in each collection.
To enable spell checking for specific fields, three steps must be taken:
- Enable spell checking by accessing the Query Settings tab of the Admin UI and check the box next to "Spell-check". Alternatively, the Settings API can be used.
- Ensure there are fields configured for spell checking by accessing the Indexing Fields tab and choosing "Index for Spell Checking". The Fields API could also be used if preferred.
- Crawl your content.
|What makes for a good spell-checking field?|
A good spell checking field is a field that contains ample text-based content that end users are going to search against using word-based queries. For example, the title and body fields are good candidates, while a "price" field is probably not.
The spell checker is integrated into LucidWorks via Solr's SearchComponent plugin framework. Specifically, it is set up via the SpellCheckComponent. Thus, when enabled, spell suggestions are returned with query results inline in the query response, as documented on the SpellCheckComponent page. In prior versions of LucidWorks, a separate task needed to be scheduled to build the spellcheck index. With v2.0 of LucidWorks, that requirement has been removed and the spell index will be created automatically during regular indexing.