node.js - 这是在平均堆栈上进行数据库搜索的最佳方法

标签 node.js angularjs mongodb

我正在使用 mongodb 存储拍卖网站的元素 我想启用模糊搜索。

我是否应该在不带参数的情况下查询 1000 个结果,然后使用像 fusion.js 这样的 js 库

或者我应该单独依赖 mongodb $regex 来执行查询吗?

最佳答案

对于这样的问题,mongodb 并不是一个很好的选择。有很多很棒的文本搜索实用程序可用,其中最著名的是 Elasticsearch。您将继续将数据存储在 mongodb 中,但您将保留一个与 mongodb 数据库同步的 Elasticsearch 实例,并针对 Elasticsearch 执行搜索。 Mongoosastic 是同时写入的好方法,或者可以使用 Transporter 将同步从数据库持久化流程中转移出来。

Mongoosastic 示例: https://blog.cloudboost.io/sync-mongo-with-elastic-and-save-months-of-development-time-and-cost-d281e0ca8fe4

其他一些同步方式,包括 Transporter:https://code.likeagirl.io/5-different-ways-to-synchronize-data-from-mongodb-to-elasticsearch-d8456b83d44f

关于node.js - 这是在平均堆栈上进行数据库搜索的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56411680/

相关文章:

javascript - "Uncaught TypeError: Illegal invocation"使用POST请求Ajax/NodeJs/MongoDB/Mongoose

c++ - mongoDB,C++ libmongoclient.so : cannot open shared object file: No such file or directory

javascript - map Controller 中的 ui-gmap-marker 没有触发标记单击事件

css - 在ng-include中触发CSS时如何更改ng-view的CSS

mongodb - 在嵌入式数组 golang 中检索范围时间 mongodb 之间的值

javascript - 准备好的 SQL 语句中的 NodeJS MSSQL

javascript - Js - 使用运算符作为字符串评估数学表达式的替代方法

mysql - 如何使用 nodejs 和 pem key 文件连接到 Cloud SQL 实例

javascript - 如何将我的 node.js 文件合并到 postman 请求中?

javascript - 如果文本中存在大写字母或数字,则测试返回 false