带有elasticsearch

时间:2017-09-04 14:15:20

标签: elasticsearch elasticsearch-plugin

我为ES 5.x.x编写了一个包含所有组件的插件:插件,工厂,提供程序,分析器,过滤器(过滤器具有重要的逻辑)。 我用

测试了它
GET index/_analyze?analyzer=my_plugin_name

它工作正常。 现在我想通过

将它与ES集成
PUT index/_settings -d @settings.json

但接收和错误

"caused_by" : {
  "type" : "illegal_argument_exception",
  "reason" : "Unknown filter type [MyPluginFactory class name: com.a.b.c.plugin.MyPluginFactory] for [my_filter]

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-plugin install

1 个答案:

答案 0 :(得分:0)

好吧,在我的Plugin类中我已经实现了getAnalyzers(),但看起来为了能够设置过滤器,getTokenFilters()也必须实现