我正在尝试为我的 MongoDB 创建一个弹性搜索河。我正在使用elasticsearch-mapper-attachments
和elasticsearch-river-mongodb
插件。我遇到的问题是我收到投诉java.lang.String cannot be cast to java.util.Map
这是我创建的索引:
{
"type": "mongodb",
"mongodb": {
"collection": "config_files",
"db": "tore_dev"
},
"index": "config_files"
}
这是命令:
one@old-dash ~/river $ curl -X PUT "localhost:9200/_river/config_files/_meta" -d @create.json | python -m json.tool
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 220 100 84 100 136 3032 4909 --:--:-- --:--:-- --:--:-- 5230
{
"_id": "_meta",
"_index": "_river",
"_type": "config_files",
"_version": 1,
"created": true
}
one@old-dash ~/river $
这是它的状态:
one@old-dash ~/river $ curl localhost:9200/_river/config_files/_status | python -m json.tool
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 640 100 640 0 0 30247 0 --:--:-- --:--:-- --:--:-- 33684
{
"_id": "_status",
"_index": "_river",
"_source": {
"error": "CreationException[Guice creation errors:\n\n1) Error injecting constructor, java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Map\n at org.elasticsearch.river.mongodb.MongoDBRiver.<init>(Unknown Source)\n while locating org.elasticsearch.river.mongodb.MongoDBRiver\n while locating org.elasticsearch.river.River\n\n1 error]; nested: ClassCastException[java.lang.String cannot be cast to java.util.Map]; ",
"node": {
"id": "57f4LnVMSn2xDlo1Es0meQ",
"name": "Wicked",
"transport_address": "inet[/10.1.23.69:9300]"
}
},
"_type": "config_files",
"_version": 1,
"found": true
}