白小丸 2019-03-20 11:37 采纳率: 100%
浏览 1333
已采纳

用mongo-connector同步mongodb和elasticsearch遇到的几个问题

我希望把mongodb中存储的数据同步到elasticsearch,以便后续实现检索功能。系统是windows10,各种工具和环境都搭建好了,mongodb的副本集也已建立,elasticsearch版本是6.X,同步工具选择的是mongo-connector,同步命令如下:

mongo-connector --auto-commit-interval=0 -m localhost:27017 -t localhost:9200 -d elastic2_doc_manager -o mongodb_oplog_position.oplog

但是在数据同步过程中遇到了几个问题:
1.
failed to parse field [xx] of type [long]
出错的数据是一个32位的MD5值,在mongodb中的数据类型是String,是因为长度太长了所以出这个错误吗,该怎么解决呢?

2.
Rejecting mapping update to [db] as the final mapping would have more than 1 type: [t1, t2]
提示一个index中不能有多个type,查了一下,发现是elasticsearch 6.X版本以后的新规范,但是mongodb通常会一个DB中有多个Collection,这个该怎么同步呢?

请各位大佬帮忙解答一下。

  • 写回答

1条回答

  • 哈喽大海豚 2019-03-20 12:19
    关注

    1.第一个问题
    32位MD5的值,每一个都是16进制数,而java中long是十进制的数,所以只要你的字符串中带有十六进制的字母abcdef,就会报错,推荐你在传输之前,解密一下,再存储,或者指定es字段类型为string
    2.第二个问题
    ES中某个资源的定位是这样的形式的
    host:port/index/type/id
    ES6之后,只能有一个type,以后可能移除这个,所以现在如果是多个type的话,可以把index和type名拼接。
    host:port/index_type/xxx/id这样的形式

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 MATLAB yalmip 可转移负荷的简单建模出错,如何解决?
  • ¥15 数学的三元一次方程求解
  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?