前几天在折腾搜索功能,发现 solr + sunspot 仍应是当前的首选,成熟度以及开发文档、开发实例的完备性和丰富性等方面都比 elasticsearch + tire 要好一些,如果你钟情于 elasticsearch,也许应再等一等elasticsearch-ruby 的开发进度,比方说等到这个问题关闭了之后。
与 elasticsearch 相比,solr 的安装配置稍显麻烦,但是 @quakewang 做了一个脚本,可以一步完成 solr 的下载安装,已经非常简单了,但在开发测试环境中还是没有 sunspot 自带的 sunspot_solr 使用起来方便,于是我就直接修改了 sunspot_solr,将其中的 solr.war 替换为 solr 4.3.1 版,并集成了 mmseg4j 1.9.1 中文分词插件,在开发测试环境中安装使用 solr 就可以完全 gem 化了(在生产环境中使用也是完全可以的):
安装:
gem 'sunspot_rails', '~> 2.1.0'
group :development, :test do
gem 'sunspot_solr', github: 'xhj/sunspot', require: 'sunspot_solr'
end
使用:
bundle exec rake sunspot:solr:start
简单吧?哈哈!