Package org.apache.solr.search
Class QParserPlugin
- java.lang.Object
-
- org.apache.solr.search.QParserPlugin
-
- All Implemented Interfaces:
AutoCloseable
,SolrInfoBean
,SolrMetricProducer
,NamedListInitializedPlugin
- Direct Known Subclasses:
BlockJoinParentQParserPlugin
,BoolQParserPlugin
,BoostQParserPlugin
,CollapsingQParserPlugin
,ComplexPhraseQParserPlugin
,DisMaxQParserPlugin
,ExportQParserPlugin
,ExtendedDismaxQParserPlugin
,FieldQParserPlugin
,FiltersQParserPlugin
,FunctionQParserPlugin
,FunctionRangeQParserPlugin
,GraphQParserPlugin
,GraphTermsQParserPlugin
,HashQParserPlugin
,HashRangeQParserPlugin
,IGainTermsQParserPlugin
,JoinQParserPlugin
,KnnQParserPlugin
,LuceneQParserPlugin
,MinHashQParserPlugin
,MLTQParserPlugin
,NestedQParserPlugin
,PayloadCheckQParserPlugin
,PayloadScoreQParserPlugin
,PrefixQParserPlugin
,RankQParserPlugin
,RawQParserPlugin
,ReRankQParserPlugin
,ScoreJoinQParserPlugin
,SignificantTermsQParserPlugin
,SimpleQParserPlugin
,SpatialFilterQParserPlugin
,SurroundQParserPlugin
,SwitchQParserPlugin
,TermQParserPlugin
,TermsQParserPlugin
,TextLogisticRegressionQParserPlugin
,XmlQParserPlugin
public abstract class QParserPlugin extends Object implements NamedListInitializedPlugin, SolrInfoBean
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.solr.core.SolrInfoBean
SolrInfoBean.Category, SolrInfoBean.Group
-
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_QTYPE
internal use - name of the default parserstatic Map<String,QParserPlugin>
standardPlugins
Internal use - name to parser for the builtin parsers.
-
Constructor Summary
Constructors Constructor Description QParserPlugin()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract QParser
createParser(String qstr, SolrParams localParams, SolrParams params, SolrQueryRequest req)
return aQParser
SolrInfoBean.Category
getCategory()
Category of this componentString
getDescription()
Simple one or two line descriptionString
getName()
Simple common usage name, e.g.SolrMetricsContext
getSolrMetricsContext()
Implementations should return the context used inSolrMetricProducer.initializeMetrics(SolrMetricsContext, String)
to ensure proper cleanup of metrics at the end of the life-cycle of this component.void
initializeMetrics(SolrMetricsContext parentContext, String scope)
Initialize metrics specific to this producer.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.solr.util.plugin.NamedListInitializedPlugin
init
-
Methods inherited from interface org.apache.solr.metrics.SolrMetricProducer
close
-
-
-
-
Field Detail
-
DEFAULT_QTYPE
public static final String DEFAULT_QTYPE
internal use - name of the default parser- See Also:
- Constant Field Values
-
standardPlugins
public static final Map<String,QParserPlugin> standardPlugins
Internal use - name to parser for the builtin parsers. Each query parser plugin extendingQParserPlugin
has own instance of standardPlugins. This leads to cyclic dependencies of static fields and to case when NAME field is not yet initialized. This result to NPE during initialization. For every plugin, listed here, NAME field has to be final and static.
-
-
Method Detail
-
createParser
public abstract QParser createParser(String qstr, SolrParams localParams, SolrParams params, SolrQueryRequest req)
return aQParser
-
getName
public String getName()
Description copied from interface:SolrInfoBean
Simple common usage name, e.g. BasicQueryHandler, or fully qualified class name.- Specified by:
getName
in interfaceSolrInfoBean
-
getDescription
public String getDescription()
Description copied from interface:SolrInfoBean
Simple one or two line description- Specified by:
getDescription
in interfaceSolrInfoBean
-
getCategory
public SolrInfoBean.Category getCategory()
Description copied from interface:SolrInfoBean
Category of this component- Specified by:
getCategory
in interfaceSolrInfoBean
-
initializeMetrics
public void initializeMetrics(SolrMetricsContext parentContext, String scope)
Description copied from interface:SolrMetricProducer
Initialize metrics specific to this producer.- Specified by:
initializeMetrics
in interfaceSolrMetricProducer
- Parameters:
parentContext
- parent metrics context. If this component has the same life-cycle as the parent it can simply use the parent context, otherwise it should obtain a child context usingSolrMetricsContext.getChildContext(Object)
passingthis
as the child object.scope
- component scope
-
getSolrMetricsContext
public SolrMetricsContext getSolrMetricsContext()
Description copied from interface:SolrMetricProducer
Implementations should return the context used inSolrMetricProducer.initializeMetrics(SolrMetricsContext, String)
to ensure proper cleanup of metrics at the end of the life-cycle of this component. This should be the child context if one was created, or null if the parent context was used.- Specified by:
getSolrMetricsContext
in interfaceSolrMetricProducer
-
-