Package org.apache.lucene.xmlparser
Class CoreParser
- java.lang.Object
-
- org.apache.lucene.xmlparser.CoreParser
-
- All Implemented Interfaces:
QueryBuilder
- Direct Known Subclasses:
CorePlusExtensionsParser
public class CoreParser extends Object implements QueryBuilder
Assembles a QueryBuilder which uses only core Lucene Query objects
-
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.lucene.analysis.Analyzeranalyzerstatic EntityResolverDISALLOW_EXTERNAL_ENTITY_RESOLVERprotected FilterBuilderFactoryfilterFactorystatic intmaxNumCachedFiltersprotected org.apache.lucene.queryParser.QueryParserparserprotected QueryBuilderFactoryqueryFactory
-
Constructor Summary
Constructors Modifier Constructor Description CoreParser(String defaultField, org.apache.lucene.analysis.Analyzer analyzer)Constructs an XML parser that creates a QueryParser for each UserQuery request.protectedCoreParser(String defaultField, org.apache.lucene.analysis.Analyzer analyzer, org.apache.lucene.queryParser.QueryParser parser)CoreParser(org.apache.lucene.analysis.Analyzer analyzer, org.apache.lucene.queryParser.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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddFilterBuilder(String nodeName, FilterBuilder builder)voidaddQueryBuilder(String nodeName, QueryBuilder builder)static EntityResolvercreateEntityResolver()protected EntityResolvergetEntityResolver()Returns a SAXEntityResolverto be used byDocumentBuilder.protected ErrorHandlergetErrorHandler()Subclass and override to return a SAXErrorHandlerto be used byDocumentBuilder.org.apache.lucene.search.QuerygetQuery(Element e)org.apache.lucene.search.Queryparse(InputStream xmlStream)Parses the given stream as XML file and returns aQuery.
-
-
-
Field Detail
-
analyzer
protected org.apache.lucene.analysis.Analyzer analyzer
-
parser
protected org.apache.lucene.queryParser.QueryParser parser
-
queryFactory
protected QueryBuilderFactory queryFactory
-
filterFactory
protected FilterBuilderFactory filterFactory
-
maxNumCachedFilters
public static int maxNumCachedFilters
-
DISALLOW_EXTERNAL_ENTITY_RESOLVER
public static final EntityResolver DISALLOW_EXTERNAL_ENTITY_RESOLVER
-
-
Constructor Detail
-
CoreParser
public CoreParser(org.apache.lucene.analysis.Analyzer analyzer, org.apache.lucene.queryParser.QueryParser parser)Construct an XML parser that uses a single instance QueryParser for handling UserQuery tags - all parse operations are synchronised on this parser- Parameters:
analyzer-parser- A QueryParser which will be synchronized on during parse calls.
-
CoreParser
public CoreParser(String defaultField, org.apache.lucene.analysis.Analyzer analyzer)
Constructs an XML parser that creates a QueryParser for each UserQuery request.- Parameters:
defaultField- The default field name used by QueryParsers constructed for UserQuery tagsanalyzer-
-
CoreParser
protected CoreParser(String defaultField, org.apache.lucene.analysis.Analyzer analyzer, org.apache.lucene.queryParser.QueryParser parser)
-
-
Method Detail
-
parse
public org.apache.lucene.search.Query parse(InputStream xmlStream) throws ParserException
Parses the given stream as XML file and returns aQuery. By default this disallows external entities for security reasons.- Throws:
ParserException
-
addQueryBuilder
public void addQueryBuilder(String nodeName, QueryBuilder builder)
-
addFilterBuilder
public void addFilterBuilder(String nodeName, FilterBuilder builder)
-
getEntityResolver
protected EntityResolver getEntityResolver()
Returns a SAXEntityResolverto 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
protected ErrorHandler getErrorHandler()
Subclass and override to return a SAXErrorHandlerto be used byDocumentBuilder. By default this returnsnullso no error handler is used. This method can be used to redirect XML parse errors/warnings to a custom logger.
-
getQuery
public org.apache.lucene.search.Query getQuery(Element e) throws ParserException
- Specified by:
getQueryin interfaceQueryBuilder- Throws:
ParserException
-
createEntityResolver
public static EntityResolver createEntityResolver()
-
-