org.apache.solr.search
Class QParser

java.lang.Object
  extended by org.apache.solr.search.QParser
Direct Known Subclasses:
DisMaxQParser, FunctionQParser, SpatialFilterQParser

public abstract class QParser
extends Object

Note: This API is experimental and may change in non backward-compatible ways in the future

Version:
$Id: QParser.java 1149032 2011-07-21 03:59:06Z koji $

Field Summary
protected  SolrParams localParams
           
protected  int localParamsEnd
           
protected  SolrParams params
           
protected  String qstr
           
protected  org.apache.lucene.search.Query query
           
protected  int recurseCount
           
protected  SolrQueryRequest req
           
protected  String stringIncludingLocalParams
           
protected  boolean valFollowedParams
           
 
Constructor Summary
QParser(String qstr, SolrParams localParams, SolrParams params, SolrQueryRequest req)
          Constructor for the QParser
 
Method Summary
 void addDebugInfo(NamedList<Object> debugInfo)
           
 String[] getDefaultHighlightFields()
           
 org.apache.lucene.search.Query getHighlightQuery()
           
 SolrParams getLocalParams()
           
 String getParam(String name)
          check both local and global params
 SolrParams getParams()
           
static QParser getParser(String qstr, String defaultType, SolrQueryRequest req)
          Create a QParser to parse qstr, assuming that the default query type is defaultType.
 org.apache.lucene.search.Query getQuery()
          Returns the resulting query from this QParser, calling parse() only the first time and caching the Query result.
 SolrQueryRequest getReq()
           
 SortSpec getSort(boolean useGlobalParams)
           
 String getString()
           
abstract  org.apache.lucene.search.Query parse()
          Create and return the Query object represented by qstr
 void setLocalParams(SolrParams localParams)
           
 void setParams(SolrParams params)
           
 void setReq(SolrQueryRequest req)
           
 void setString(String s)
           
 QParser subQuery(String q, String defaultType)
          Create a new QParser for parsing an embedded sub-query
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

qstr

protected String qstr

params

protected SolrParams params

localParams

protected SolrParams localParams

req

protected SolrQueryRequest req

recurseCount

protected int recurseCount

query

protected org.apache.lucene.search.Query query

stringIncludingLocalParams

protected String stringIncludingLocalParams

valFollowedParams

protected boolean valFollowedParams

localParamsEnd

protected int localParamsEnd
Constructor Detail

QParser

public QParser(String qstr,
               SolrParams localParams,
               SolrParams params,
               SolrQueryRequest req)
Constructor for the QParser

Parameters:
qstr - The part of the query string specific to this parser
localParams - The set of parameters that are specific to this QParser. See http://wiki.apache.org/solr/LocalParams
params - The rest of the SolrParams
req - The original SolrQueryRequest.
Method Detail

parse

public abstract org.apache.lucene.search.Query parse()
                                              throws org.apache.lucene.queryParser.ParseException
Create and return the Query object represented by qstr

Throws:
org.apache.lucene.queryParser.ParseException
See Also:
getQuery()

getLocalParams

public SolrParams getLocalParams()

setLocalParams

public void setLocalParams(SolrParams localParams)

getParams

public SolrParams getParams()

setParams

public void setParams(SolrParams params)

getReq

public SolrQueryRequest getReq()

setReq

public void setReq(SolrQueryRequest req)

getString

public String getString()

setString

public void setString(String s)

getQuery

public org.apache.lucene.search.Query getQuery()
                                        throws org.apache.lucene.queryParser.ParseException
Returns the resulting query from this QParser, calling parse() only the first time and caching the Query result.

Throws:
org.apache.lucene.queryParser.ParseException

getParam

public String getParam(String name)
check both local and global params


subQuery

public QParser subQuery(String q,
                        String defaultType)
                 throws org.apache.lucene.queryParser.ParseException
Create a new QParser for parsing an embedded sub-query

Throws:
org.apache.lucene.queryParser.ParseException

getSort

public SortSpec getSort(boolean useGlobalParams)
                 throws org.apache.lucene.queryParser.ParseException
Parameters:
useGlobalParams - look up sort, start, rows in global params if not in local params
Returns:
the sort specification
Throws:
org.apache.lucene.queryParser.ParseException

getDefaultHighlightFields

public String[] getDefaultHighlightFields()

getHighlightQuery

public org.apache.lucene.search.Query getHighlightQuery()
                                                 throws org.apache.lucene.queryParser.ParseException
Throws:
org.apache.lucene.queryParser.ParseException

addDebugInfo

public void addDebugInfo(NamedList<Object> debugInfo)

getParser

public static QParser getParser(String qstr,
                                String defaultType,
                                SolrQueryRequest req)
                         throws org.apache.lucene.queryParser.ParseException
Create a QParser to parse qstr, assuming that the default query type is defaultType. The query type may be overridden by local parameters in the query string itself. For example if defaultType="dismax" and qstr=foo, then the dismax query parser will be used to parse and construct the query object. However if qstr={!prefix f=myfield}foo then the prefix query parser will be used.

Throws:
org.apache.lucene.queryParser.ParseException


Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.