2013-05-07 2 views
1

Я следил за ссылкой http://elasticsearch-users.115913.n3.nabble.com/ElasticSearch-and-Mongo-DB-td4033358.html, чтобы интегрировать elasticsearch и mongodb, используя реку mongodb. Версии каждого компонента:elasticsearch throw исключение работа с рекой mongodb

  • убунту 12.04 64-битной
  • Е.С. 0.90.0
  • MongoDB 2.4.3
  • река 1.6.5

MongoDB является автономным, работающий на одном сервере но согласно этой ссылке http://loosexaml.wordpress.com/2012/09/03/how-to-get-a-mongodb-oplog-without-a-full-replica-set/, oplog открывается как replSet, а oplogSize настроен в файле /etc/mongodb.conf, а db.oplog.rs.find() также отображает некоторые записи операций. Индекс добавил:

curl -XPUT localhost:9200/_river/appdata/_meta -d' 
{ 
    "type": "mongodb", 
    "mongodb" : { 
    "db": "test_appdata", 
    "collection": "app_collection" 
    }, 
    "index": { 
    "name": "test_appdata", 
    "type": "app" 
    } 
}' 

Но когда elasticsearch начал, журнал показывают некоторое исключение следующим образом:

[2013-05-07 23:20:40,400][INFO ][river.mongodb   ] [Ransak the Reject] [mongodb][app] starting mongodb stream. options: secondaryreadpreference [false], throttlesize [500], gridfs [false], filter [], db [test_appdata], script [null], indexing to [test_appdata]/[app] 
Exception in thread "elasticsearch[Sundragon][mongodb_river_slurper][T#1]" java.lang.NoSuchMethodError: org.elasticsearch.action.get.GetResponse.exists()Z 
    at org.elasticsearch.river.mongodb.MongoDBRiver.getLastTimestamp(MongoDBRiver.java:1088) 
    at org.elasticsearch.river.mongodb.MongoDBRiver.access$2200(MongoDBRiver.java:93) 
    at org.elasticsearch.river.mongodb.MongoDBRiver$Slurper.getIndexFilter(MongoDBRiver.java:967) 
    at org.elasticsearch.river.mongodb.MongoDBRiver$Slurper.oplogCursor(MongoDBRiver.java:1021) 
    at org.elasticsearch.river.mongodb.MongoDBRiver$Slurper.run(MongoDBRiver.java:858) 
    at java.lang.Thread.run(Thread.java:679) 

Я новичок в elasticsearch и MongoDB, является установление точной копией MongoDB вызвала ошибку? Любое предложение оценивается.

ответ

2

Ваша река несовместима с Elasticsearch 0.90. Перейдите на ES 0.20.6 или попросите заплату в проекте реки Монгоб.

+0

Я модернизирую реку до 1.6.6, она работала правильно. И вот список совместимости river & es & mongodb, https://github.com/richardwilly98/elasticsearch-river-mongodb. Спасибо! – Avalon

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