【发布时间】:2012-01-05 19:54:53
【问题描述】:
我正在尝试决定如何拆分我的逻辑。
我将我的主要业务逻辑放在 Node.js/Express 中,并且我一直在使用 Mongo 作为我的数据库。这很好用,但现在我需要实现一个非常强大的搜索系统,因为搜索是我网站最重要的功能之一。起初我对 Mongo 和 Couch 提供的缺乏支持和集成感到非常惊讶,但后来我意识到我试图让数据库做一些它不适合做的事情。
现在我正在考虑使用 Solr 或 ElasticSearch,但它们开始似乎能够执行 Mongo 可以执行的部分或大部分查询,只要我正确索引我的文档(并且根据它们的性质,我将索引每个文档的几乎每个属性)。也就是说,我在想也许我应该只使用一些非常简单的东西,比如 Redis,而依赖像 Solr/ElasticSearch 这样的强大搜索工具。
这看起来是一个明智的选择吗?另外,为什么没有适用于 Solr、Lucene 或 ElasticSearch 的 Nodejs 模块?
【问题讨论】:
-
我还刚刚找到了RedBackJS,这看起来可能是适合我的解决方案,但我再次对一些更有经验的建筑师的智慧感兴趣。
-
你大多只需要一个 HTTP 客户端库(最好是可以池连接的),你可以自己创建一个 solr 查询类(不要忘记做 URL 和 Solr 字符转义)。
标签: node.js mongodb solr full-text-search redis