Meteor JS中的搜索工具

Thi*_*rer 8 javascript search mongodb elasticsearch meteor

对于数据库和搜索来说,我是一个新手,所以请耐心等待.我试图在Meteor应用程序中实现搜索功能.我已经通过大气检查并偶然发现了这4个选项.

  1. Mattodem轻松搜索
  2. 搜索来源
  3. Atmosphere上的弹性搜索包(听说过这个日期)
  4. Atmosphere上的弹性大数据包

我的需求是简单搜索,能够处理可能具有数据嵌套的更大数据集.例如一个任务,可能有评论或链接等.(全文和超过正则表达式查询将是好的)

我读到,为了便于搜索,即使使用某种形式的弹性或Mongodb应用程序,似乎只应用于单个Mongo集合?例如,如果我想搜索 Dinosaurs = new Meteor.Collection('dinosaurs');并且 Mammals = new Meteor.Collection('mammals');

对以上4个选项的优缺点有任何建议吗?1似乎相对容易实现,但我不知道这里使用弹性引擎意味着什么.如果我要实现弹性,我该如何在Meteor中实现呢?它与实现Elasticsearch HTTP API有何不同?

同样,对于搜索源,它支持弹性过这里.老实说,我对这些差异一无所知.

MrE*_*MrE 2

这个 github 项目演示了如何将 Meteor 与 ElasticSearch(不是 Mongo)一起用于搜索应用程序

https://github.com/hharnisc/meteor-elasticsearch-demo/tree/master/elasticsearch-demo/packages/elastic-collection

它基本上将一个字段链接到一个会话变量,该变量触发弹性搜索。结果存储在 mongo 集合中,该集合通过 Meteor 机制推送到客户端。它们比数据集小得多,因此更新速度很快。

就跨集合搜索而言,这是数据库模式定义的典型问题。如果您需要进行连接,mongodb 不是最好的解决方案。和任何 SQL DB 一样的关系数据库会更适合,但是,您应该研究数据的“非规范化”,看看是否可以创建一个适合您的用例的结构。

这篇文章很好地解释了这意味着什么:

http://blog.mongodb.org/post/87892923503/6-rules-of-thumb-for-mongodb-schema-design-part-2

祝你好运。