安装配置elasticsearch、安装elasticsearch-analysis-ik插件、mysql导入数据到elasticsearch、安装yii2-elasticsearch及使用

时间:2022-01-26 08:29:21

一、安装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

安装配置elasticsearch、安装elasticsearch-analysis-ik插件、mysql导入数据到elasticsearch、安装yii2-elasticsearch及使用

具体配置项可以参考es文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

四、如果安装在虚拟机上,本地机可通过网络转发访问es

安装配置elasticsearch、安装elasticsearch-analysis-ik插件、mysql导入数据到elasticsearch、安装yii2-elasticsearch及使用

五、配置完后,开启es

systemctl start elasticsearch,即可通过http://127.0.0.1:9200访问es

安装配置elasticsearch、安装elasticsearch-analysis-ik插件、mysql导入数据到elasticsearch、安装yii2-elasticsearch及使用

六、安装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上的说明

安装配置elasticsearch、安装elasticsearch-analysis-ik插件、mysql导入数据到elasticsearch、安装yii2-elasticsearch及使用

3、执行mvn package(如果提示没有mvn命令,则执行yum -y install maven来下载)

下载后在/usr/local/src/elasticsearch-analysis-ik/target/releases下就会有elasticsearch-analysis-ik-1.10.1.zip包

安装配置elasticsearch、安装elasticsearch-analysis-ik插件、mysql导入数据到elasticsearch、安装yii2-elasticsearch及使用

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 '这是一个商品标题'

安装配置elasticsearch、安装elasticsearch-analysis-ik插件、mysql导入数据到elasticsearch、安装yii2-elasticsearch及使用

es默认分词格式为standard,执行curl -XPOST "http://127.0.0.1:9200/_analyze?analyzer=standard&pretty" -d '这是一个商品标题';即可和ik对比

安装配置elasticsearch、安装elasticsearch-analysis-ik插件、mysql导入数据到elasticsearch、安装yii2-elasticsearch及使用

七、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

安装配置elasticsearch、安装elasticsearch-analysis-ik插件、mysql导入数据到elasticsearch、安装yii2-elasticsearch及使用

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,成功返回如下内容:

安装配置elasticsearch、安装elasticsearch-analysis-ik插件、mysql导入数据到elasticsearch、安装yii2-elasticsearch及使用

2、编写model,继承的类改为yii\elasticsearch\ActiveRecord

安装配置elasticsearch、安装elasticsearch-analysis-ik插件、mysql导入数据到elasticsearch、安装yii2-elasticsearch及使用

3、在控制器中调用该model

安装配置elasticsearch、安装elasticsearch-analysis-ik插件、mysql导入数据到elasticsearch、安装yii2-elasticsearch及使用

4、访问该方法,即可查询到elasticsearch中的内容

安装配置elasticsearch、安装elasticsearch-analysis-ik插件、mysql导入数据到elasticsearch、安装yii2-elasticsearch及使用

5、mysql增量导入es(即数据表有数据发生变动,增加数据或更改数据,都能对应将数据更新到es)

拷贝拷贝cp mysql-blog.sh mysql-delta-import-product.sh

编辑mysql-delta-import-product.sh如下:

安装配置elasticsearch、安装elasticsearch-analysis-ik插件、mysql导入数据到elasticsearch、安装yii2-elasticsearch及使用

然后执行该sh文件,即可增量导入es

6、如果执行mysql-delta-import-product.sh时报错,错误提示为:Could not create connection to database server

安装配置elasticsearch、安装elasticsearch-analysis-ik插件、mysql导入数据到elasticsearch、安装yii2-elasticsearch及使用

查看lib文件夹下的文件可以找到mysql-connector-java-5.1.38.jar

安装配置elasticsearch、安装elasticsearch-analysis-ik插件、mysql导入数据到elasticsearch、安装yii2-elasticsearch及使用

因为我使用的是mysql-8.0.12,所以需要下载mysql-connector-java-8.0.12.jar,然后放置在lib下,重新执行mysql-delta-import-product.sh脚本即可解决问题