org.apache.lucene.queryparser.flexible.core.processors (Lucene 10.5.0 queryparser API)
Description: declaration: package: org.apache.lucene.queryparser.flexible.core.processors

# Package org.apache.lucene.queryparser.flexible.core.processors

package org.apache.lucene.queryparser.flexible.core.processors
Interfaces and implementations used by query node processors

## Query Node Processors

The package `org.apache.lucene.queryParser.processors` contains interfaces that should be implemented by every query node processor.

The interface that every query node processor should implement is `QueryNodeProcessor`. A query node processor should be used to process a `QueryNode` tree. `QueryNode` trees can be programmatically created or generated by a text parser. See `org.apache.lucene.queryparser.flexible.core.parser` for more details about text parsers.

A query node processor should be used to process a `QueryNode` tree. `QueryNode` trees can be programmatically created or generated by a text parser. See `org.apache.lucene.queryparser.flexible.core.parser` for more details about text parsers.

A pipeline of processors can be assembled using `QueryNodeProcessorPipeline`.

Implementors may want to extend `QueryNodeProcessorImpl`, which simplifies the implementation, because it walks automatically the `QueryNode`. See `QueryNodeProcessorImpl` for more details.

- Related Packages
  Package
  Description
  org.apache.lucene.queryparser.flexible.core
  Core classes of the flexible query parser framework.
- Class
  Description
  NoChildOptimizationQueryNodeProcessor
  A `NoChildOptimizationQueryNodeProcessor` removes every BooleanQueryNode, BoostQueryNode, TokenizedPhraseQueryNode or ModifierQueryNode that do not have a valid children.
  QueryNodeProcessor
  A `QueryNodeProcessor` is an interface for classes that process a `QueryNode` tree.
  QueryNodeProcessorImpl
  This is a default implementation for the `QueryNodeProcessor` interface, it's an abstract class, so it should be extended by classes that want to process a `QueryNode` tree.
  QueryNodeProcessorPipeline
  A `QueryNodeProcessorPipeline` class should be used to build a query node processor pipeline.
  RemoveDeletedQueryNodesProcessor
  A `QueryNodeProcessorPipeline` class removes every instance of `DeletedQueryNode` from a query node tree.