Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
The supplied QueryConverter makes sense for Spellcheckers:
it tries to parse out the 'meat' of the query (using e.g. identifier rules),
and analyzes each parsed 'word' with the configured analyzer (separate tokenstream).
words[] = splitByIdentifierRules(); for (each word) { tokenstream ts = analyzer.tokenStream(word) for (each analyzedWord from tokenstream) { tokens.add(analyzedWord) } }
However, for Suggesters this is not really optimal, because in the general
case they do not work one word at a time: they aren't really suggesting
individual words but instead an entire 'query' that matches a prefix.
so instead here, I think we just want a QueryConverter that creates a
single string containing all the 'meat', and we pass the whole thing to
the analyzer, then the suggester.
The current workaround on the wiki to this problem, is to ask the user to write custom
code (http://wiki.apache.org/solr/Suggester#Tips_and_tricks), I think thats not
great since this phrase-based suggesting is really the primary use case for
suggesters.