我已经创建了一个Elasticsearch插件来索引自定义数据类型。我想在搜索时应用自定义分析器。因此,我添加了这样的onModule方法:
public class MyTypePlugin extends AbstractPlugin {
public void onModule(AnalysisModule module) {
module.addAnalyzer("myanalyzer", MyAnalyzerProvider.class);
}
}
当我安装插件时,我的自定义数据类型的索引工作正常。但是,当我尝试使用我的分析器时(例如,通过调用//127.0.0.1:9200/_analyze?analyzer=myanalyzer&text=this+is+++),会导致ElasticSearchIllegalArgumentException[failed to find analyzer [myanalyzer]]
错误。这是添加自定义分析器实现的正确方法还是有其他方式,例如通过FieldMapper
?