一、安装elasticsearch
获取elasticsearch的rpm:wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/rpm/elasticsearch/2.4.1/elasticsearch-2.4.1.rpm
具体版本在es官网获取:https://www.elastic.co/downloads/past-releases
二、yum安装
yum -y install elasticsearch-2.4.1.rpm
三、配置
vim /etc/elasticsearch/elasticsearch.yml
具体配置项可以参考es文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
四、如果安装在虚拟机上,本地机可通过网络转发访问es
五、配置完后,开启es
systemctl start elasticsearch,即可通过http://127.0.0.1:9200访问es
六、安装elasticsearch-analysis-ik插件(github路径:https://github.com/medcl/elasticsearch-analysis-ik),ik插件的作用是es的中文分词组件
1、git clone https://github.com/medcl/elasticsearch-analysis-ik.git(克隆到/usr/local/src下)
2、进入目录cd elasticsearch-analysis-ik/,然后执行git checkout tags/v1.10.1,具体要选择什么版本可查看github上的说明
3、执行mvn package(如果提示没有mvn命令,则执行yum -y install maven来下载)
下载后在/usr/local/src/elasticsearch-analysis-ik/target/releases下就会有elasticsearch-analysis-ik-1.10.1.zip包
4、在/usr/share/elasticsearch/plugins下创建ik文件夹,执行mkdir ik;
然后将/usr/local/src/elasticsearch-analysis-ik/target/releases/elasticsearch-analysis-ik-1.10.1.zip拷贝过来,
执行cp /usr/local/src/elasticsearch-analysis-ik/target/releases/elasticsearch-analysis-ik-1.10.1.zip /usr/share/elasticsearch/plugins/ik
5、进入/usr/share/elasticsearch/plugins/ik,执行cd /usr/share/elasticsearch/plugins/ik;
然后解压unzip elasticsearch-analysis-ik-1.10.1.zip
6、重启es,systemctl restart elasticsearch.service,到这里ik插件安装完成
7、测试ik组件,执行curl -XPOST "http://127.0.0.1:9200/_analyze?analyzer=ik&pretty" -d '这是一个商品标题'
es默认分词格式为standard,执行curl -XPOST "http://127.0.0.1:9200/_analyze?analyzer=standard&pretty" -d '这是一个商品标题';即可和ik对比
七、mysql导入数据到elasticsearch,使用elasticsearch-jdbc,github路径:https://github.com/jprante/elasticsearch-jdbc
1、下载wget http://xbib.org/repository/org/xbib/elasticsearch/importer/elasticsearch-jdbc/2.3.4.0/elasticsearch-jdbc-2.3.4.0-dist.zip
2、解压unzip elasticsearch-jdbc-2.3.4.0-dist.zip
3、编辑配置文件
进入elasticsearch-jdbc-2.3.4.0,cd elasticsearch-jdbc-2.3.4.0
拷贝cp mysql-blog.sh mysql-import-product.sh
编辑mysql-import-product.sh
4、执行导入,./mysql-import-product.sh,如果没有报错,则数据导入elasticsearch成功
八、安装yii2-elasticsearch及使用
1、安装yii2-elasticsearch,yii2-elasticsearch在github路径:https://github.com/yiisoft/yii2-elasticsearch
进入到yii2的basic目录,使用composer安装yii2-elasticsearch,执行composer require --prefer-dist yiisoft/yii2-elasticsearch:"~2.0.0" -vvv,成功返回如下内容:
2、编写model,继承的类改为yii\elasticsearch\ActiveRecord
3、在控制器中调用该model
4、访问该方法,即可查询到elasticsearch中的内容
5、mysql增量导入es(即数据表有数据发生变动,增加数据或更改数据,都能对应将数据更新到es)
拷贝拷贝cp mysql-blog.sh mysql-delta-import-product.sh
编辑mysql-delta-import-product.sh如下:
然后执行该sh文件,即可增量导入es
6、如果执行mysql-delta-import-product.sh时报错,错误提示为:Could not create connection to database server
查看lib文件夹下的文件可以找到mysql-connector-java-5.1.38.jar
因为我使用的是mysql-8.0.12,所以需要下载mysql-connector-java-8.0.12.jar,然后放置在lib下,重新执行mysql-delta-import-product.sh脚本即可解决问题