Description
The SolrQueryParser class, which extends Lucene's QueryParser class, does not provide any way of setting the various QueryParser properties via the solr config file (solrconfig.xml). These properties include:
allowLeadingWildcard (Set to true to allow * and ? as the first character of a PrefixQuery and WildcardQuery)
dateResolution: Sets the default date resolution used by RangeQueries for fields for which no specific date resolutions has been set.
defaultOperator: Sets the boolean operator of the QueryParser.
fuzzyMinSim: Set the minimum similarity for fuzzy queries.
locale: Set locale used by date range parsing.
lowercaseExpandedTerms: Whether terms of wildcard, prefix, fuzzy and range queries are to be automatically lower-cased or not.
phraseSlop: Sets the default slop for phrases.
useOldRangeQuery: By default QueryParser uses new ConstantScoreRangeQuery in preference to RangeQuery for range queries.
This can be achieved by calling the setter methods for these properties in the SolrQueryParser constructor,
public SolrQueryParser(IndexSchema schema, String defaultField)
{ super(defaultField == null ? schema.getDefaultSearchFieldName() : defaultField, schema.getQueryAnalyzer()); this.schema = schema; setAllowLeadingWildcard(SolrConfig.config.getBool("query/setAllowLeadingWildcard")); setLowercaseExpandedTerms(SolrConfig.config.getBool("query/lowerCaseExpandedTerms")); }In addition, solr should not modify these values from the defaults provided by Lucene, as it currently does by calling setLowercaseExpandedTerms(false) in this method.
Attachments
Issue Links
- is related to
-
SOLR-219 Determine if prefix, wildcard, fuzzy queries should be lowercased
- Closed