一、Windows下logstash的安装
1.下载地址为:https://www.elastic.co/downloads/logstash ,下载与ES版本一致
2.解压
3.在bin文件夹下创建logstash.conf,并添加以下内容
input {
stdin{
}
}
output {
stdout{
}
}
4.启动logstash:logstash -f logstash.conf
5.访问http://localhost:9600/,检查是否启动成功
二、logstash实现MySQL数据迁移至es
1.下载mysql-connector-java,并放在logstash目录下
地址:https://dev.mysql.com/downloads/connector/j/5.1.html
2.在logstash的bin目录下添加mysql_info.conf,并添加以下代码
input {
stdin {
}
jdbc {
# mysql数据库连接,es_test是mysql的数据库
jdbc_connection_string => "jdbc:mysql://172.16.187.30:3306/es_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC"
# mysqly用户名和密码
jdbc_user => "root"
jdbc_password => "123456"
# 驱动配置
jdbc_driver_library => "D:\logstash-7.11.1\mysql\mysql-connector-java-8.0.23\mysql-connector-java-8.0.23.jar"
# 驱动类名
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
# 执行指定的sql文件
#statement_filepath => "D:\service\logstash-7.7.0\mysql\sql\fa_search.sql"
#执行的sql语句,查询源数据的sql语句(output就是将此处的查询结果insert到ES中)
statement => "SELECT * FROM es_data"
# 设置监听 各字段含义 分 时 天 月 年 ,默认全部为*代表含义:每分钟都更新
schedule => "* * * * *"
# 索引类型
#type => "blog"
}
}
output {
elasticsearch {
#es服务器
hosts => ["172.16.187.28:9200"]
#ES索引名称
index => "mysql_data"
#自增ID
document_id => "%{id}"
}
stdout {
codec => json_lines
}
}
注意,若配置文件缩进或格式不对,启动会报错
3.最后启动logstash -f mysql_info.conf
三、elasticsearch复杂查询
1.wildcard通配符查询
#查询name包含zh的人名
GET school/_search?pretty
{