标签:
搜索可以说是开发中很常见的场景了,同样这次也一样。。。
之前的组合多数是选择 Mysql + Sphinx ,这次因为工作原因不再使用这种组合,虽然是老牌组合,但是确实限制诸多,而且每次配环境也是个问题,挺烦的。。。这次就尝试使用 Elasticsearch + Jcseg ,因为在文档检索方面 elasticsearch 做的相当不错,但是对中文环境来说就差一个很好的中文分词器,还好,国内好的中文分词器也有蛮多,但是我个人还是比较推荐 Jcseg 。
好了,废话不多扯。
版本说明:
elasticsearch 我使用的是 1.7.2 的,不过 1.7.3 对下面这个过程来说也是可行的。
jcseg 是需要 1.9.6 的版本
######------------------------------------------------------------------------------------------------------------------------#####
首先是 elasticsearch 的安装,这个比较方便,照着官方文档来就OK了。
参考地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-service.html
1,安装 elasticsearch
#> wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.2.deb
#> sudo dpkg -i elasticsearch-1.7.2.deb
#> sudo update-rc.d elasticsearch defaults 95 10
#> sudo service elasticsearch start
然后是下载 jcseg 的相关 jar 包,为后续配置做准备。
下载地址:http://git.oschina.net/lionsoul/elasticsearch-jcseg
2,下载 jcseg
#> git clone http://git.oschina.net/lionsoul/elasticsearch-jcseg
最后就是把 jcseg 配置成 elasticsearch 的一个分词插件,然后指定 jcseg 为默认分词器,重启 elasticsearch 就OK了。
参考文档:http://git.oschina.net/lionsoul/jcseg (这里有个 pdf 文档,可以参考一下)
3,配置 elasticsearch
#> cd /usr/share/elasticsearch/plugins (这是上面安装完成 elasticsearch 后,它的插件目录所在)
#> mkdir analysis-jcseg (创建 jcseg jar 包 及 词库 放置目录)
#> cd elasticsearch-jcseg/ (来到 elasticsearch-jcseg 目录下,这里有我们需要的 jar 文件等)
#> sudo cp -r plugins/analysis-jcseg/* /usr/share/elasticsearch/plugins/analysis-jcseg/ (复制需要的 jar 包以及 jcseg 词库文件,词库文件很重要,后期可以根据你自己业务需要扩展词库,达到更高的分词准确率)
############# 开始修改 elasticsearch 的配置文件,设置分词器使用 jcseg ##########
拷贝 elasticsearch-jcseg 下的 config/jcseg/ 整个目录到 elasticsearch 的配置文件目录下(/etc/elasticsearch/)
#> sudo cp -r config/jcseg /etc/elasticsearch/
在 elasticsearch 的文件末尾增加如下配置项:(该配置项在 elasticsearch-jcseg/config/elasticsearch.yml 里)
#> sudo vim /etc/elasticsearch/elasticsearch.yml
添加配置项:
然后,重启 elasticsearch
#> sudo service elasticsearch restart
然后就可以在浏览器里输入测试了,如下:
当然了,你得先有个 索引,我这里的测试例子是 blog,建立方法也很简单,如下:
#> curl -XPUT http:localhost:9200/blog
######------------------------------------------------------------------------------------------------------------------------#####
以上就是把 jcseg 作为 elasticsearch 的中文分词插件的环境配置方法,剩下的就是 elasticsearch 和 jcseg 的事情了, 可以分别研究它们的相关用法,灵活的在项目中使用就OK了!
Elasticsearch 中文分词插件 jcseg 安装 (Ubuntu 14.04 下)
标签:
原文地址:http://my.oschina.net/u/1156660/blog/521326