一、安装 elasticsearch
1、环境: ubuntu 64位
2、安装包路径:/server/
3、ES下载地址:
4、ES版本选择:ES最新版5.2,但jdbc未支持,为方便导入mysql数据降低版本。
5、安装:解压即可;为方便使用,给目录加软链;给整个目录可执行权限;
6、配置:
创建一个存放es数据和日志的文件夹,并给
可执行
权限
cd /server/
elasticsearch/
mkdir data
mkdir logs
chomd 777 -R /server/
elasticsearch/
修改一些配置
cd /
server/
elasticsearch
/config
vi elasticsearch.yml
path.data: /server/elasticsearch/data
path.logs: /server/elasticsearch/logs
network.host: 127.0.0.1
http.port: 9200
其他的参数先不用管,暂时也用不到
7、运行,需有java环境
cd
/server/
elasticsearch/
/bin
./elasticsearch
二、导入mysql数据到 elasticsearch
数据导入方法有多种,测试方便,使用jdbc工具批量导入mysql数据,在本地msdb数据库video表产生100万条真实的视频数据。
1、下载JDBC:(注意,jdbc需要和es同版本号)
wget http://xbib.org/repository/org/xbib/elasticsearch/importer/elasticsearch-jdbc/2.3.4.1/elasticsearch-jdbc-2.3.4.1-dist.zip
2、配置: 进入JDBC的bin目录下,然后创建一个sh文件
import_data_to_es_from_mysql.sh
编辑并保存:vim import_data_to_es_from_mysql.sh
JDBC_IMPORTER_HOME=/server/elasticsearch-jdbc-2.3.4.1
bin=$JDBC_IMPORTER_HOME/bin
lib=$JDBC_IMPORTER_HOME/lib
echo '{
"type" : "jdbc",
"jdbc": {
"elasticsearch.autodiscover":true,
"url":"jdbc:mysql://localhost:3306/msdb",
"user":"root",
"password":"db43842",
"sql":"select * from video",
"elasticsearch" : {
"cluster" : "elasticsearch",
"host" : "localhost",
"port" : 9300
},
"index" : "video",
"type" : "info"
}
}'| java \
-cp "${lib}/*" \
-Dlog4j.configurationFile=${bin}/log4j2.xml \
org.xbib.tools.Runner \
org.xbib.tools.JDBCImporter
3、保存,运行./import_data_to_es_from_mysql.sh, ES的导入速度大概为10万条/秒
4、测试,ssh输入如下请求,回车
curl -XPOST http://localhost:9200/video/info/_search?pretty -d'
{
"query" : { "match" : { "name" : "《王者荣耀》关羽玩" }},
"highlight" : {
"pre_tags" : [""],
"post_tags" : [""],
"fields" : {
"subject" : {}
}
}
}'