Class CoreParser
java.lang.Object
org.apache.lucene.queryparser.xml.CoreParser
- All Implemented Interfaces:
SpanQueryBuilder
,QueryBuilder
- Direct Known Subclasses:
CorePlusQueriesParser
Assembles a QueryBuilder which uses only core Lucene Query objects
-
Field Summary
Modifier and TypeFieldDescriptionprotected Analyzer
protected String
static final EntityResolver
protected QueryParser
protected QueryBuilderFactory
protected final SpanQueryBuilderFactory
-
Constructor Summary
ModifierConstructorDescriptionCoreParser
(String defaultField, Analyzer analyzer) Constructs an XML parser that creates a QueryParser for each UserQuery request.protected
CoreParser
(String defaultField, Analyzer analyzer, QueryParser parser) CoreParser
(Analyzer analyzer, QueryParser parser) Construct an XML parser that uses a single instance QueryParser for handling UserQuery tags - all parse operations are synchronised on this parser -
Method Summary
Modifier and TypeMethodDescriptionvoid
addQueryBuilder
(String nodeName, QueryBuilder builder) void
addSpanBuilder
(String nodeName, SpanQueryBuilder builder) void
addSpanQueryBuilder
(String nodeName, SpanQueryBuilder builder) protected EntityResolver
Returns a SAXEntityResolver
to be used byDocumentBuilder
.protected ErrorHandler
Subclass and override to return a SAXErrorHandler
to be used byDocumentBuilder
.parse
(InputStream xmlStream) Parses the given stream as XML file and returns aQuery
.
-
Field Details
-
defaultField
-
analyzer
-
parser
-
queryFactory
-
spanFactory
-
DISALLOW_EXTERNAL_ENTITY_RESOLVER
-
-
Constructor Details
-
CoreParser
Construct an XML parser that uses a single instance QueryParser for handling UserQuery tags - all parse operations are synchronised on this parser- Parameters:
parser
- A QueryParser which will be synchronized on during parse calls.
-
CoreParser
Constructs an XML parser that creates a QueryParser for each UserQuery request.- Parameters:
defaultField
- The default field name used by QueryParsers constructed for UserQuery tags
-
CoreParser
-
-
Method Details
-
parse
Parses the given stream as XML file and returns aQuery
. By default this disallows external entities for security reasons.- Throws:
ParserException
-
addQueryBuilder
-
addSpanBuilder
-
addSpanQueryBuilder
-
getEntityResolver
Returns a SAXEntityResolver
to be used byDocumentBuilder
. By default this returnsDISALLOW_EXTERNAL_ENTITY_RESOLVER
, which disallows the expansion of external entities (for security reasons). To restore legacy behavior, override this method to returnnull
. -
getErrorHandler
Subclass and override to return a SAXErrorHandler
to be used byDocumentBuilder
. By default this returnsnull
so no error handler is used. This method can be used to redirect XML parse errors/warnings to a custom logger. -
getQuery
- Specified by:
getQuery
in interfaceQueryBuilder
- Throws:
ParserException
-
getSpanQuery
- Specified by:
getSpanQuery
in interfaceSpanQueryBuilder
- Throws:
ParserException
-