使用elasticsearch连接自定义插件
我已经为ES5.x.x编写了一个插件,包含所有组件:插件、工厂、提供者、分析器、过滤器(过滤器具有重要的逻辑)。 我试了一下使用elasticsearch连接自定义插件,
Warning: implode(): Invalid arguments passed in /data/phpspider/zhask/webroot/tpl/detail.html on line 45
,,我已经为ES5.x.x编写了一个插件,包含所有组件:插件、工厂、提供者、分析器、过滤器(过滤器具有重要的逻辑)。 我试了一下 GET index/_analyze?analyzer=my_plugin_name 而且效果很好。 现在我想通过 PUT index/_settings -d @settings.json 但是接收和错误 ES查找我的筛选器的正确方法是什么?在settings.json中,我设置了 "type" : "com.a.b.c.plugin.MyPluginFactory
GET index/_analyze?analyzer=my_plugin_name
而且效果很好。
现在我想通过
PUT index/_settings -d @settings.json
但是接收和错误
ES查找我的筛选器的正确方法是什么?在settings.json中,我设置了
"type" : "com.a.b.c.plugin.MyPluginFactory"
这就是它的工作原理吗?以下是完整的settings.json:
{ "settings": {
"analysis": {
"filter": {
"my_filter" : {
"type" : "com.a.b.c.plugin.MyPluginFactory"
}
},
"analyzer": {
"my_analyser": {
"tokenizer": "standard",
"filter": [
"my_filter"
]}}}}}
该插件通过以下方式安装:
elasticsearch插件安装
好吧,爆炸。。在我的插件类中,我实现了getAnalyzers(),但看起来为了能够设置过滤器,getTokenFilters()也必须实现。。在我的插件类中,我实现了getAnalyzers(),但看起来为了能够设置过滤器,还必须实现getTokenFilters()
{ "settings": {
"analysis": {
"filter": {
"my_filter" : {
"type" : "com.a.b.c.plugin.MyPluginFactory"
}
},
"analyzer": {
"my_analyser": {
"tokenizer": "standard",
"filter": [
"my_filter"
]}}}}}