Class QueryConverter

java.lang.Object
org.apache.solr.spelling.QueryConverter
All Implemented Interfaces:
NamedListInitializedPlugin
Direct Known Subclasses:
SpellingQueryConverter

public abstract class QueryConverter extends Object implements NamedListInitializedPlugin
The QueryConverter is an abstract base class defining a method for converting input "raw" queries into a set of tokens for spell checking. It is used to "parse" the CommonParams.Q (the input query) and converts it to tokens.

It is only invoked for the CommonParams.Q parameter, and not the "spellcheck.q" parameter. Systems that use their own query parser or those that find issue with the basic implementation should implement their own QueryConverter instead of using the provided implementation (SpellingQueryConverter) by overriding the appropriate methods on the SpellingQueryConverter and registering it in the solrconfig.xml

Refer to https://solr.apache.org/guide/solr/latest/query-guide/spell-checking.html for more details

Since:
solr 1.3
  • Field Details

    • analyzer

      protected org.apache.lucene.analysis.Analyzer analyzer
    • PROHIBITED_TERM_FLAG

      public static final int PROHIBITED_TERM_FLAG
      This term is marked prohibited in the query with the minus sign.
      See Also:
    • REQUIRED_TERM_FLAG

      public static final int REQUIRED_TERM_FLAG
      This term is marked required in the query with the plus sign.
      See Also:
    • TERM_PRECEDES_NEW_BOOLEAN_OPERATOR_FLAG

      public static final int TERM_PRECEDES_NEW_BOOLEAN_OPERATOR_FLAG
      This term is directly followed by a boolean operator (AND/OR/NOT) and this operator differs from the prior boolean operator in the query (this signifies this term is likely part of a different query clause than the next term in the query)
      See Also:
    • TERM_IN_BOOLEAN_QUERY_FLAG

      public static final int TERM_IN_BOOLEAN_QUERY_FLAG
      This term exists in a query that contains boolean operators (AND/OR/NOT)
      See Also:
  • Constructor Details

    • QueryConverter

      public QueryConverter()
  • Method Details

    • convert

      public abstract Collection<Token> convert(String original)
      Returns the Collection of Tokens for the query. Offsets on the Token should correspond to the correct offset in the origQuery
    • setAnalyzer

      public void setAnalyzer(org.apache.lucene.analysis.Analyzer analyzer)
      Set the analyzer to use. Must be set before any calls to convert.
    • getAnalyzer

      public org.apache.lucene.analysis.Analyzer getAnalyzer()