Rails 折腾了两天,终于用 Elasticsearch + elasticsearch-rails 实现了搜索功能

keepeye · 2015年08月16日 · 最后由 ywjno 回复于 2015年08月18日 · 3829 次阅读

一开始折腾 sphinx,为了中文分词选择了 coreseek 这个二开版本,结果好不容易将 coreseek 编译成功,却发现 rails 对应的 gem 版本太高了,无奈放弃。

后来听别人介绍,发现 elasticsearch 不错,起码安装不费心力。

而且赞的是官方提供了 rails 包。

花了一整天,先阅读 elasticsearch 文档,搞清楚基本概念,然后结合 elasticsearch-rails 的文档就容易理解了。

然后花了点时间折腾中文分词的事情,最后选择了 elasticsearch-rtf 整合包,十分方便。

最后实现搜索业务,正式部署到 vps 上,成功跑起来,很高兴。

有个遗憾的地方是,rails 根据 response.records 得到的结果不包含高亮字段,左右在三,为了代码更加整洁就不要高亮功能了吧。

有兴趣可以去看看:http://www.ekan001.com/search

欢迎拍砖

可以和 @menghuanwd 交流下。

用 pg 就简单多啦,tsvector 加个中文分词 gem 就好了

#2 楼 @luikore pg 很好很強大,有時間就研究研究

#2 楼 @luikore 是用哪个 gem 呢?

#4 楼 @nine mmseg 或者命令行调用 OpenCLAS / CRF++ / mecab ?

pg 有中文分词的 C 扩展,装一下就好了,未必要用 gem

有 pg 用的日文分词 C 扩展么

需要 登录 后方可回复, 如果你还没有账号请 注册新账号