写一条自定义的河流

时间:2014-04-21 03:33:57

标签: java elasticsearch elasticsearch-plugin

我第一次去写一条河。 (Here's the source code

我跟着这个tutorial并将其与this existing river进行了比较,但我没有太多运气。

为了部署河流,我创建了一个名为example-river的文件夹,将我的jar放在该文件夹中,然后重新启动了该节点。一切都很好。

我也尝试了bin/plugin --url file:///path/to/plugin --install example-river,这似乎有效,但它解压了我的jar。

当我发出此PUT请求时:

http://localhost:9200/_river/example_river/_meta
{
    "type": "example_river",
  "example_river":{
    "blah":"blah"
  }
}

我得到了这个例外:

  

[2014-04-20 22:28:46,538] [DEBUG] [river] [Gloom]   创建河[example_river] [example_river] [2014-04-20   22:28:46,543] [警告] [河] [悲观]没能   创建河[example_river] [example_river]   org.elasticsearch.common.settings.NoClassSettingsException:失败   加载类值为[example_river]的类   org.elasticsearch.river.RiverModule.loadTypeModule(RiverModule.java:87)     在   org.elasticsearch.river.RiverModule.spawnModules(RiverModule.java:58)     在   org.elasticsearch.common.inject.ModulesBuilder.add(ModulesBuilder.java:44)     在   org.elasticsearch.river.RiversService.createRiver(RiversService.java:137)     在   org.elasticsearch.river.RiversService $ ApplyRivers $ 2.onResponse(RiversService.java:275)     在   org.elasticsearch.river.RiversService $ ApplyRivers $ 2.onResponse(RiversService.java:269)     在   org.elasticsearch.action.support.TransportAction $ ThreadedActionListener $ 1.run(TransportAction.java:93)     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)     at java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source)     在java.lang.Thread.run(未知来源)引起:   java.lang.ClassNotFoundException:example_river at   java.net.URLClassLoader $ 1.run(未知来源)at   java.net.URLClassLoader $ 1.run(未知来源)at   java.security.AccessController.doPrivileged(Native Method)at   java.net.URLClassLoader.findClass(未知来源)at   java.lang.ClassLoader.loadClass(未知来源)at   sun.misc.Launcher $ AppClassLoader.loadClass(未知来源)at   java.lang.ClassLoader.loadClass(未知来源)at   org.elasticsearch.river.RiverModule.loadTypeModule(RiverModule.java:73)     ... 9更多

有人可以指出我缺少的东西吗?

0 个答案:

没有答案