org.elasticsearch.index.query.support
Class MapperQueryParser

java.lang.Object
  extended by org.apache.lucene.queryParser.QueryParser
      extended by org.elasticsearch.index.query.support.MapperQueryParser
All Implemented Interfaces:
org.apache.lucene.queryParser.QueryParserConstants
Direct Known Subclasses:
MultiFieldMapperQueryParser

public class MapperQueryParser
extends org.apache.lucene.queryParser.QueryParser

A query parser that uses the MapperService in order to build smarter queries based on the mapping information.

Also breaks fields with [type].[name] into a boolean query that must include the type as well as the query on the name.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.lucene.queryParser.QueryParser
org.apache.lucene.queryParser.QueryParser.Operator
 
Field Summary
 
Fields inherited from class org.apache.lucene.queryParser.QueryParser
AND_OPERATOR, jj_nt, OR_OPERATOR, token, token_source
 
Fields inherited from interface org.apache.lucene.queryParser.QueryParserConstants
_ESCAPED_CHAR, _NUM_CHAR, _QUOTED_CHAR, _TERM_CHAR, _TERM_START_CHAR, _WHITESPACE, AND, Boost, CARAT, COLON, DEFAULT, EOF, FUZZY_SLOP, LPAREN, MINUS, NOT, NUMBER, OR, PLUS, PREFIXTERM, QUOTED, RangeEx, RANGEEX_END, RANGEEX_GOOP, RANGEEX_QUOTED, RANGEEX_START, RANGEEX_TO, RangeIn, RANGEIN_END, RANGEIN_GOOP, RANGEIN_QUOTED, RANGEIN_START, RANGEIN_TO, RPAREN, STAR, TERM, tokenImage, WILDTERM
 
Constructor Summary
MapperQueryParser(java.lang.String defaultField, org.apache.lucene.analysis.Analyzer analyzer, MapperService mapperService, IndexCache indexCache)
           
 
Method Summary
protected  FieldMapper fieldMapper(java.lang.String smartName)
           
protected  org.apache.lucene.search.Query getBooleanQuery(java.util.List<org.apache.lucene.search.BooleanClause> clauses, boolean disableCoord)
           
 org.apache.lucene.search.Query getFieldQuery(java.lang.String field, java.lang.String queryText)
           
protected  org.apache.lucene.search.Query getFuzzyQuery(java.lang.String field, java.lang.String termStr, float minSimilarity)
           
protected  org.apache.lucene.search.Query getPrefixQuery(java.lang.String field, java.lang.String termStr)
           
protected  org.apache.lucene.search.Query getRangeQuery(java.lang.String field, java.lang.String part1, java.lang.String part2, boolean inclusive)
           
protected  org.apache.lucene.search.Query getWildcardQuery(java.lang.String field, java.lang.String termStr)
           
protected  org.apache.lucene.search.Query newTermQuery(org.apache.lucene.index.Term term)
           
 
Methods inherited from class org.apache.lucene.queryParser.QueryParser
addClause, Clause, Conjunction, disable_tracing, enable_tracing, escape, generateParseException, getAllowLeadingWildcard, getAnalyzer, getBooleanQuery, getDateResolution, getDefaultOperator, getEnablePositionIncrements, getField, getFieldQuery, getFuzzyMinSim, getFuzzyPrefixLength, getLocale, getLowercaseExpandedTerms, getMultiTermRewriteMethod, getNextToken, getPhraseSlop, getRangeCollator, getToken, main, Modifiers, newBooleanClause, newBooleanQuery, newFuzzyQuery, newMatchAllDocsQuery, newMultiPhraseQuery, newPhraseQuery, newPrefixQuery, newRangeQuery, newWildcardQuery, parse, Query, ReInit, ReInit, setAllowLeadingWildcard, setDateResolution, setDateResolution, setDefaultOperator, setEnablePositionIncrements, setFuzzyMinSim, setFuzzyPrefixLength, setLocale, setLowercaseExpandedTerms, setMultiTermRewriteMethod, setPhraseSlop, setRangeCollator, Term, TopLevelQuery
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MapperQueryParser

public MapperQueryParser(java.lang.String defaultField,
                         org.apache.lucene.analysis.Analyzer analyzer,
                         @Nullable
                         MapperService mapperService,
                         @Nullable
                         IndexCache indexCache)
Method Detail

newTermQuery

protected org.apache.lucene.search.Query newTermQuery(org.apache.lucene.index.Term term)
Overrides:
newTermQuery in class org.apache.lucene.queryParser.QueryParser

getFieldQuery

public org.apache.lucene.search.Query getFieldQuery(java.lang.String field,
                                                    java.lang.String queryText)
                                             throws org.apache.lucene.queryParser.ParseException
Overrides:
getFieldQuery in class org.apache.lucene.queryParser.QueryParser
Throws:
org.apache.lucene.queryParser.ParseException

getRangeQuery

protected org.apache.lucene.search.Query getRangeQuery(java.lang.String field,
                                                       java.lang.String part1,
                                                       java.lang.String part2,
                                                       boolean inclusive)
                                                throws org.apache.lucene.queryParser.ParseException
Overrides:
getRangeQuery in class org.apache.lucene.queryParser.QueryParser
Throws:
org.apache.lucene.queryParser.ParseException

getPrefixQuery

protected org.apache.lucene.search.Query getPrefixQuery(java.lang.String field,
                                                        java.lang.String termStr)
                                                 throws org.apache.lucene.queryParser.ParseException
Overrides:
getPrefixQuery in class org.apache.lucene.queryParser.QueryParser
Throws:
org.apache.lucene.queryParser.ParseException

getFuzzyQuery

protected org.apache.lucene.search.Query getFuzzyQuery(java.lang.String field,
                                                       java.lang.String termStr,
                                                       float minSimilarity)
                                                throws org.apache.lucene.queryParser.ParseException
Overrides:
getFuzzyQuery in class org.apache.lucene.queryParser.QueryParser
Throws:
org.apache.lucene.queryParser.ParseException

getWildcardQuery

protected org.apache.lucene.search.Query getWildcardQuery(java.lang.String field,
                                                          java.lang.String termStr)
                                                   throws org.apache.lucene.queryParser.ParseException
Overrides:
getWildcardQuery in class org.apache.lucene.queryParser.QueryParser
Throws:
org.apache.lucene.queryParser.ParseException

getBooleanQuery

protected org.apache.lucene.search.Query getBooleanQuery(java.util.List<org.apache.lucene.search.BooleanClause> clauses,
                                                         boolean disableCoord)
                                                  throws org.apache.lucene.queryParser.ParseException
Overrides:
getBooleanQuery in class org.apache.lucene.queryParser.QueryParser
Throws:
org.apache.lucene.queryParser.ParseException

fieldMapper

protected FieldMapper fieldMapper(java.lang.String smartName)