2

出于安全、事务等一些显而易见的原因,不建议使用 ElasticSearch 作为唯一存储。那么它通常如何与其他数据库一起使用?

比如说,我想在 MongoDB 中存储一些文档,并能够通过它们的一些属性有效地搜索。我要做的是像往常一样将完整的文档存储在 Mongo 中,然后触发插入到 ElasticSearch ,但我只会在其中插入可搜索的属性和 MongoDB ObjectID。然后我可以使用 ElasticSearch 搜索并找到 ObjectID,然后转到 Mongo 并获取整个文档。

这是 ElasticSearch 的正确用法吗?我不想复制整个数据,因为我已经在 Mongo 中有它们。

4

2 回答 2

2

目前最好的做法是在 ES 中复制文档。这里很酷的是,当您搜索时,您不必返回数据库来获取内容,因为 ES 只需一次调用即可提供它。您可以使用 ES Search Response 向您的用户显示结果。

我的 2 美分。

于 2013-02-16T22:22:21.050 回答
0

您可能喜欢使用 mongodb River 看看这篇文章 有更多的问题然后是您存储或索引的数据的大小,您可能希望 MongoDB 作为“近实时”查询插入数据的备份。并作为要索引的数据的队列(您可能希望将 mongodb 用作具有适合您应用程序的相关写入问题的集群

于 2014-05-07T11:21:16.860 回答