use of org.apache.lucene.queryparser.flexible.core.parser.SyntaxParser in project lucene-solr by apache.
the class TestSpanQueryParserSimpleSample method testBasicDemo.
public void testBasicDemo() throws Exception {
SyntaxParser queryParser = new StandardSyntaxParser();
// convert the CharSequence into a QueryNode tree
QueryNode queryTree = queryParser.parse("body:text", null);
// create a config handler with a attribute used in
// UniqueFieldQueryNodeProcessor
QueryConfigHandler spanQueryConfigHandler = new SpansQueryConfigHandler();
spanQueryConfigHandler.set(SpansQueryConfigHandler.UNIQUE_FIELD, "index");
// set up the processor pipeline with the ConfigHandler
// and create the pipeline for this simple demo
QueryNodeProcessorPipeline spanProcessorPipeline = new QueryNodeProcessorPipeline(spanQueryConfigHandler);
// @see SpansValidatorQueryNodeProcessor
spanProcessorPipeline.add(new SpansValidatorQueryNodeProcessor());
// @see UniqueFieldQueryNodeProcessor
spanProcessorPipeline.add(new UniqueFieldQueryNodeProcessor());
// print to show out the QueryNode tree before being processed
if (VERBOSE)
System.out.println(queryTree);
// Process the QueryTree using our new Processors
queryTree = spanProcessorPipeline.process(queryTree);
// print to show out the QueryNode tree after being processed
if (VERBOSE)
System.out.println(queryTree);
// create a instance off the Builder
SpansQueryTreeBuilder spansQueryTreeBuilder = new SpansQueryTreeBuilder();
// convert QueryNode tree to span query Objects
SpanQuery spanquery = spansQueryTreeBuilder.build(queryTree);
assertTrue(spanquery instanceof SpanTermQuery);
assertEquals(spanquery.toString(), "index:text");
}
Aggregations