我正在试图决定如何分解我的逻辑。逻辑分离:搜索,数据库和应用程序
我把我的主要业务逻辑放在Node.js/Express中,而且我一直在使用Mongo来处理我的数据库。这很好,但现在我需要实现一个非常强大的搜索系统,因为搜索是我网站最重要的功能之一。起初,我非常惊讶于Mongo和Couch缺乏支持和整合,但后来我意识到我正试图让数据库做一些不适合的事情。
现在我正在研究使用Solr或ElasticSearch,但是它的开始似乎是这些程序甚至可以执行Mongo可以执行的一些或大部分查询,只要我能够正确索引我的文档(以及它们的自然,我将索引几乎所有文件的每一个属性)。所以说,我在想,也许我应该只使用一些简单的东西,比如Redis,并且依赖像Solr/ElasticSearch这样强大的搜索工具。
这看起来像是一个明智的选择吗?另外,为什么Solr,Lucene或ElasticSearch没有Nodejs模块?
我也刚刚发现[RedBackJS](http://redbackjs.com),它看起来对我来说可能是正确的解决方案,但我又对一些更有经验的建筑师的智慧感兴趣。 – cjroth 2012-01-05 20:04:54
你大多只需要一个HTTP客户端库(最好能够连接池),你可以自己做一个solr查询类(不要忘记做URL和Solr char转义)。 – aitchnyu 2012-01-06 11:08:36