2014-11-14 4 views
0

Я пытаюсь использовать реку MongoDB (v2.04) с elasticsearch (v1.X), и при ее установке река, кажется, терпит неудачу при попытке индексирования данных. Кроме того, он предотвращает запуск Elasticsearch при перезагрузке сервера. Ошибка при разборе данных является:Elasticsearch не работает с рекой MongoDB

[2014-11-14 11:19:08,625][WARN ][river     ] [Tommy] failed to create river [mongodb][mongodb] 
org.elasticsearch.common.settings.NoClassSettingsException: Failed to load class with value [mongodb] 
    at org.elasticsearch.river.RiverModule.loadTypeModule(RiverModule.java:87) 
    at org.elasticsearch.river.RiverModule.spawnModules(RiverModule.java:58) 
    at org.elasticsearch.common.inject.ModulesBuilder.add(ModulesBuilder.java:44) 
    at org.elasticsearch.river.RiversService.createRiver(RiversService.java:137) 
    at org.elasticsearch.river.RiversService$ApplyRivers$2.onResponse(RiversService.java:275) 
    at org.elasticsearch.river.RiversService$ApplyRivers$2.onResponse(RiversService.java:269) 
    at org.elasticsearch.action.support.TransportAction$ThreadedActionListener$1.run(TransportAction.java:95) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.ClassNotFoundException: mongodb 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    at org.elasticsearch.river.RiverModule.loadTypeModule(RiverModule.java:73) 
    ... 9 more 

установки река выглядит следующим образом:

PUT /_river/mongodb/_meta 
{ 
    "type": "mongodb", 
    "mongodb": { 
     "servers":[ 
     {"host":"IPADDRESS","port":27017} 
     ], 
     "db": "database", 
     "collection": "collection", 
     "gridfs": true 
    }, 
    "index": { 
     "name": "items", 
     "type": "item" 
    } 
    } 
} 

ответ

0

Я уверен, вы сделали ту же ошибку, как и я.

Вы должны не только установить зависимость, выдавая следующее:

plugin --install elasticsearch/elasticsearch-mapper-attachments/2.4.1 

Вы также должны вселить саму реку:

plugin --install com.github.richardwilly98.elasticsearch/elasticsearch-river-mongodb/2.0.6 

Упругие поиск ищет имя класса по значению тип.

Смежные вопросы