【问题标题】:MongoDB with ElasticSearch带有 ElasticSearch 的 MongoDB
【发布时间】:2016-03-12 05:28:42
【问题描述】:

我正在寻找正确的方法,所以将 ElasticSearch 与 MongoDB 结合使用。我想在 MongoDB 中保存一些信息。此外,我想使用 ElasticSearch 保存更大的文本以支持复杂的全文搜索。

我现在的问题是: 我不确定最好的解决方案是什么。我发现将 MongoDB 与 ElasticSearch 同步的大多数解决方案都使用了已弃用的“river”!

结合这两种技术的最佳方式是什么?

将它保存在 MongoDB ElasticSearch 中是不是最好的方法?

我发现多篇文章解释说,单独使用 ElasticSearch 不够安全,您必须使用另一个 DBMS。

在 mongoDB 网站上我也发现了这个:

不幸的是,Elasticsearch(及其构成的组件)目前不能很好地处理 OutOfMemory 错误。 [source]

所以保存冗余数据可能是最好的方法。

提前致谢!

【问题讨论】:

    标签: mongodb elasticsearch nosql


    【解决方案1】:

    嘿,

    我们还与 Elasticsearch 和 MongoDb 合作。我们从一条河流开始,在遇到很多问题后,我们在被弃用之前将其删除。我们这样做的方式是:将数据保存到 mongo 时,我们在队列中创建一条消息,通知搜索存储对给定数据执行插入/删除操作。

    所以基本上我们手动保持它们同步,mongo 和 elaticsearch 之间总会有延迟。好的部分是,如果 elasticsearch 失败,我们已经实现了一个端点,它将数据从 mongo 重新导入到 ES。此外,ES 内部的结构与 mongo 中的结构不同。以前,用河流来做这件事要复杂得多。想象一下,我们甚至有自己的自定义实现。

    希望我的回答至少能有所帮助。

    【讨论】:

    • 您好,谢谢您的回答。我实际上已经找到了很多这个解决方案。我认为这个问题还没有内置的解决方案令人惊讶。谢谢!
    • @alexandra 你们还在使用定制的解决方案吗?你对 mongo-connector 有什么看法?
    • 嘿,我们仍然手动保持同步,是的。我没有使用过 mongo-connector,但它看起来类似于旧的 River 实现。我能说的是,我们以前做河道的时候,用了之后就出现了问题,所以可能你需要尝试一段时间才能得出结论。
    • mongo 连接器没有被 mongo 官方支持,而且 mongo-connector 不支持 LDAP 身份验证,这对于 mongo 企业来说是非常基础的。它只支持有限的 AUTH。
    猜你喜欢
    • 2018-06-28
    • 2015-06-14
    • 2017-02-16
    • 2021-04-20
    • 2018-01-23
    • 2020-03-27
    • 1970-01-01
    • 2015-06-10
    • 2017-03-11
    相关资源
    最近更新 更多