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



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

  1. MongoDB数据库与ElasticSearch同步。

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

我已经阅读了许多文章,这些文章提供了每种情况的优点,但没有发现任何相关文档提供两种方法之间的比较,以及哪种方法比另一种方法更好,或者特定方法的限制是什么。

注意:-我使用Node.js与express.js.

MongoDB是一个通用数据库,Elasticsearch是一个基于Lucene的分布式文本搜索引擎。您可以将数据存储在MongoDB中,并专门使用Elasticsearch的全文搜索功能。根据您的用例,您只能将mongo数据字段的一个子集发送给elastic。

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

最新更新