elasticsearch 6尝试使用mongo-connector进行管道时不允许多种类型

时间:2017-12-21 06:55:29

标签: mongodb elasticsearch elasticsearch-6

我正在尝试使用mongo-connector将数据从mongodb3.6推送到elasticsearch6.1。  我的记录是:

FactoryBot.define do
  factory :store do
    ...
    association :city
    association :vendor
  end
end

当我运行mongo-connector时,我收到以下错误:

db.administrators.find({}).pretty()
{
        "_id" : ObjectId("5701d81893dc484c812b4fc1"),
        "name" : "Test Naupada",
        "username" : "adminn",
        "ward" : "56a6129f44fc869f215fe3fe",
        "password" : "nadmin"
}

rs0:PRIMARY> db.sub_ward_master.find({}).pretty()
{
        "_id" : ObjectId("56a6129f44fc869f215fe3fe"),
        "wardCode" : "3",
        "wardName" : "Naupada",
        "wardgeoCodes" : [],
        "cityName" : "thane"
}

任何帮助? 感谢

2 个答案:

答案 0 :(得分:1)

ES 6不允许在任何单个索引中创建more than one type

mongo-connector repo中有一个open issue来支持ES 6.在解决之前,你应该选择ES 5。

答案 1 :(得分:-1)

您可以在ES6中通过为不同的文档类型创建新索引(即mongoDB中的不同集合)并使用-g标志将其指向新索引。

例如:

mongo-connector -m localhost:27017 -t localhost:9200 -d elastic2_doc_manager -n {db}.{collection_name} -g {new_index}.{document_type}. 

参考mongo-connector-wiki