You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-dev@lucene.apache.org by "Jonas Salk (JIRA)" <ji...@apache.org> on 2009/04/18 22:18:14 UTC
[jira] Commented: (SOLR-218) Support for Lucene QueryParser
properties via solrconfig.xml file
[ https://issues.apache.org/jira/browse/SOLR-218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12700531#action_12700531 ]
Jonas Salk commented on SOLR-218:
---------------------------------
Not an expert at SOLR, currently using the default configurations which are shipped with it. Taking suggestions above to update SolrQueryParser to allow for leading wildcard as allowed by Lucene, i modified the following 2 methods:
public SolrQueryParser(IndexSchema schema, String defaultField) {
...
// added
setAllowLeadingWildcard(true);
setLowercaseExpandedTerms(true);
...
}
...
public SolrQueryParser(QParser parser, String defaultField, Analyzer analyzer) {
...
setAllowLeadingWildcard(true);
setLowercaseExpandedTerms(true);
...
}
everything compiled and 'ant' built a distro. However, still throws an exception on a query request:
Test query: "http://localhost:8983/solr/select/?indent=on&q=CommentText:Hello"
Finds two documents.
However, wildcard query: "http://localhost:8983/solr/select/?indent=on&q=CommentText:*ello"
throws this exception:
org.apache.lucene.queryParser.ParseException: Cannot parse 'CommentText:*ello': '*' or '?' not allowed as first character in WildcardQuery
Any suggestions on how i can prevent this exception and get this to work?
Regards,
Jonas
> Support for Lucene QueryParser properties via solrconfig.xml file
> -----------------------------------------------------------------
>
> Key: SOLR-218
> URL: https://issues.apache.org/jira/browse/SOLR-218
> Project: Solr
> Issue Type: Improvement
> Components: search
> Affects Versions: 1.1.0
> Reporter: Michael Pelz-Sherman
> Fix For: 1.5
>
>
> 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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.