Elasticsearch插件可以有多个Module函数吗

Can Elastic Search plugin have more than one onModule function

我需要在我的插件中添加分析器和 REST 端点。

所以对于分析器,onModule() 函数看起来像:

public void onModule(AnalysisModule module) {
    module.addAnalyzer("new-analyzer", NewAnalyzerProvider.class);
}

对于 REST 端点,onModule() 函数看起来像:

public void onModule(RestModule module) {
    module.addRestAction(NewRestAction.class);
}

现在,我可以制作一个可以同时拥有它们的插件吗?

完全可以为您想要在插件中支持的每个模块提供多个重载 onModule 方法。

但是请注意,onModule() 方法将在 ES 5 中弃用,您的插件只需要实现 AnalysisPlugin and ActionPlugin 即可。