V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
SlipStupig
V2EX  ›  程序员

MongoDB 数据转换到 ES 该如何解决

  •  
  •   SlipStupig · 2018-02-21 11:52:56 +08:00 · 3356 次点击
    这是一个创建于 2464 天前的主题,其中的信息可能已经有所发展或是发生改变。

    由于公司业务增长数据偏向于搜索,而且搜索要求很高,所以打算用Elasticsearch, 但是目前的数据全都在MongoDB, 一共有好几张表:

    • user_accout (这张表存的用户信息)
    • user_order_history (这张表存的用户历史订单信息)
    • product_detail (这张表存的是商品详情信息)
    • product_AD(这个是广告相关的信息)
    • product_user_feeds (用户商品订阅)

    我在 Mongodb 里面查询 用户历史订单 的时候可以 $lookupuser_accout-user_order_historyUUID进行关联查询,ES 好像并不能使用多个 Type 的 Key 进行关联查询

    我的想法是把多张表的数据重新拆分合并到一个放到 ES 中一个新的Index里面,有什么好的办法可以实现呢?

    5 条回复    2018-02-22 20:42:30 +08:00
    badttt
        1
    badttt  
       2018-02-21 12:02:19 +08:00
    工具的话看下阿里的 DataX,如果是自己实现,从 mongo 多个表抽取数据再转成 json 到 es 就行
    SlipStupig
        2
    SlipStupig  
    OP
       2018-02-21 12:18:28 +08:00
    @badttt 我研究一下工具,感谢
    misaka19000
        3
    misaka19000  
       2018-02-21 12:25:43 +08:00 via Android
    用程序来写啊
    SlipStupig
        4
    SlipStupig  
    OP
       2018-02-21 12:41:13 +08:00
    @badttt 这个工具实在太弱了`aggregate`都不支持,看来得自己造轮子了
    badttt
        5
    badttt  
       2018-02-22 20:42:30 +08:00
    @SlipStupig 改写下它的代码就行,把代码构造查询改成直接 json 查询
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3199 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:37 · PVG 20:37 · LAX 04:37 · JFK 07:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.