- 查询解析器注册
- 查询解析
查询解析器注册
(1)SolrCore构造函数中调用QParserPlugin的init方法注册各种Parser插件
qParserPlugins.init(createInstances(QParserPlugin.standardPlugins), this);
(2)QParserPlugin中调用绑定Parser名字和实例
public abstract class QParserPlugin implements NamedListInitializedPlugin, SolrInfoMBean {
public static final Map<String, Class<? extends QParserPlugin>> standardPlugins;
static {
HashMap<String, Class<? extends QParserPlugin>> map = new HashMap<>(30, 1);
map.put(LuceneQParserPlugin.NAME, LuceneQParserPlugin.class);
map.put(OldLuceneQParserPlugin.NAME, OldLuceneQParserPlugin.class);
map.put(FunctionQParserPlugin.NAME, FunctionQParserPlugin.class);
map.put(PrefixQParserPlugin.NAME, PrefixQParserPlugin.class);
map.put(BoostQParserPlugin.NAME, BoostQParserPlugin.class<