【问题标题】:Which approach of search is feasible (elastic search + mongoDB) or mongoDB text indexes哪种搜索方法可行(弹性搜索+ mongoDB)或mongoDB文本索引
【发布时间】:2017-01-20 14:15:20
【问题描述】:
在我的项目中,我必须实现文本搜索,并且必须选择一个可行的
两者之间的方法是:-
将 MongoDB 数据库与 ElasticSearch 同步。
MongoDB 自己的文本索引,具有类似文本搜索的 Elastic Search
能力。
我浏览了许多文章,提供了每个案例的优点,但没有找到任何相关文档来提供两种方法之间的比较以及哪种方法比另一种更好,或者特定方法的限制是什么.
注意:- 我将 Node.js 与 express.js 一起使用。
【问题讨论】:
标签:
mongodb
elasticsearch
meanjs
【解决方案1】:
MongoDB 是一个通用数据库,Elasticsearch 是一个由 Lucene 支持的分布式文本搜索引擎。您可以将数据存储在 MongoDB 中,并专门使用 Elasticsearch 来实现其全文搜索功能。根据您的用例,您只能将 mongo 数据字段的子集发送到弹性。
- mongodb 与 Elasticsearch 的同步可以通过mongoosastic 完成。您可以通过坚持使用 mongo 来解决数据安全问题,并使用 elasticsearch 加快搜索速度。也可以通过 elasticsearch.py 包使用 python 脚本来同步 mongo 和 elasticsearch。
- 与 elasticsearch 相比,Mongodb 搜索非常慢。此外,在 mongodb 中进行索引会占用更多时间和更多资源。