Spellchecking
Spellchecking offers search term suggestions based on the actual query. Please see the Solr Reference for more details.
Spellecheck Options
Spellcheck query parameters are added to request when SpellcheckOptions are set.
SimpleQuery q = new SimpleQuery("name:gren");
q.setSpellcheckOptions(SpellcheckOptions.spellcheck() (1)
.dictionaries("dict1", "dict2") (2)
.count(5) (3)
.extendedResults()); (4)
q.setRequestHandler("/spell"); (5)
SpellcheckedPage<Product> found = template.query(q, Product.class); (6)
| 1 | Enable spellcheck by setting SpellcheckOptions. Sets spellcheck=on request parameter. |
| 2 | Set up the dictionaries to use for lookup. |
| 3 | Set the max number of suggestions to return. |
| 4 | Enable extended results including term frequency etc. |
| 5 | Set the request handler capable of processing suggestions. |
| 6 | Execute the query. |
@Spellcheck
The @Spellcheck annotations allows usage of the spellcheck feature on Repository level.
public interface ProductRepository extends Repository<Product, String> {
@Query(requestHandler = "/spell")
@Spellcheck(dictionaries = { "dict1", "dic2" }, count=5, extendedResults = true)
SpellcheckedPage<Product> findByName(String name, Pageable page);
}