Thi*_*rer 8 javascript search mongodb elasticsearch meteor
对于数据库和搜索来说,我是一个新手,所以请耐心等待.我试图在Meteor应用程序中实现搜索功能.我已经通过大气检查并偶然发现了这4个选项.
我的需求是简单搜索,能够处理可能具有数据嵌套的更大数据集.例如一个任务,可能有评论或链接等.(全文和超过正则表达式查询将是好的)
我读到,为了便于搜索,即使使用某种形式的弹性或Mongodb应用程序,似乎只应用于单个Mongo集合?例如,如果我想搜索
Dinosaurs = new Meteor.Collection('dinosaurs');
并且
Mammals = new Meteor.Collection('mammals');
?
对以上4个选项的优缺点有任何建议吗?1似乎相对容易实现,但我不知道这里使用弹性引擎意味着什么.如果我要实现弹性,我该如何在Meteor中实现呢?它与实现Elasticsearch HTTP API有何不同?
同样,对于搜索源,它支持弹性过这里.老实说,我对这些差异一无所知.
这个 github 项目演示了如何将 Meteor 与 ElasticSearch(不是 Mongo)一起用于搜索应用程序
它基本上将一个字段链接到一个会话变量,该变量触发弹性搜索。结果存储在 mongo 集合中,该集合通过 Meteor 机制推送到客户端。它们比数据集小得多,因此更新速度很快。
就跨集合搜索而言,这是数据库模式定义的典型问题。如果您需要进行连接,mongodb 不是最好的解决方案。和任何 SQL DB 一样的关系数据库会更适合,但是,您应该研究数据的“非规范化”,看看是否可以创建一个适合您的用例的结构。
这篇文章很好地解释了这意味着什么:
http://blog.mongodb.org/post/87892923503/6-rules-of-thumb-for-mongodb-schema-design-part-2
祝你好运。