哪种搜索方法是可行的(弹性搜索+ mongoDB)或mongoDB文本索引

时间:2016-09-13 04:26:35

标签: mongodb elasticsearch meanjs

在我的项目中,我必须实现文本搜索,并且必须选择一个可行的 两者之间的接近: -

  1. 将MongoDB数据库与ElasticSearch同步。

  2. MongoDB自己的文本索引具有弹性搜索功能,如文本搜索功能 能力。

  3. 我已经阅读了很多文章,提供了每个案例的优点,但是没有找到任何相关的文件,提供两种方法之间的比较,哪种方法比另一种更好,或者是什么限制具体方法。

    注意: - 我使用带有express.js的Node.js。

1 个答案:

答案 0 :(得分:0)

MongoDB是一个通用数据库,Elasticsearch是一个由Lucene支持的分布式文本搜索引擎。您可以将数据存储在MongoDB中,并专门使用Elasticsearch来实现其全文搜索功能。根据您的使用案例,您只能将mongo数据字段的子集发送到弹性。

  1. mongodb与Elasticsearch的同步可以使用mongoosastic完成。您可以通过使用elasticsearch持久保存mongo并加快搜索速度来解决数据安全问题。也可以使用elasticsearch.py​​包使用python脚本来同步mongo和elasticsearch。
  2. 与elasticsearch相比,Mongodb搜索速度非常慢。同样在mongodb中编制索引会占用更多时间和更多资源。