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,MLTContentQParserPlugin,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 StringDEFAULT_QTYPEinternal use - name of the default parserstatic Map<String,QParserPlugin>standardPluginsInternal 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 QParsercreateParser(String qstr, org.apache.solr.common.params.SolrParams localParams, org.apache.solr.common.params.SolrParams params, SolrQueryRequest req)return aQParserSolrInfoBean.CategorygetCategory()Category of this componentStringgetDescription()Simple one or two line descriptionStringgetName()Simple common usage name, e.g.SolrMetricsContextgetSolrMetricsContext()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.voidinitializeMetrics(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 extendingQParserPluginhas 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, org.apache.solr.common.params.SolrParams localParams, org.apache.solr.common.params.SolrParams params, SolrQueryRequest req)
return aQParser
-
getName
public String getName()
Description copied from interface:SolrInfoBeanSimple common usage name, e.g. BasicQueryHandler, or fully qualified class name.- Specified by:
getNamein interfaceSolrInfoBean
-
getDescription
public String getDescription()
Description copied from interface:SolrInfoBeanSimple one or two line description- Specified by:
getDescriptionin interfaceSolrInfoBean
-
getCategory
public SolrInfoBean.Category getCategory()
Description copied from interface:SolrInfoBeanCategory of this component- Specified by:
getCategoryin interfaceSolrInfoBean
-
initializeMetrics
public void initializeMetrics(SolrMetricsContext parentContext, String scope)
Description copied from interface:SolrMetricProducerInitialize metrics specific to this producer.- Specified by:
initializeMetricsin 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)passingthisas the child object.scope- component scope
-
getSolrMetricsContext
public SolrMetricsContext getSolrMetricsContext()
Description copied from interface:SolrMetricProducerImplementations 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:
getSolrMetricsContextin interfaceSolrMetricProducer
-
-