1、自己安裝elasticsearch(本人版本7.6);
2、安裝數據現實化插件(elasticsearch-head獲取kibana);
3、下載logstashs(我的版本7.7.0) 地址https://www.elastic.co/cn/downloads/logstash
4、下載mysql-connector-java(應該是驅動架包吧 不懂java不知道說得對不對)
地址 https://mvnrepository.com/artifact/mysql/mysql-connector-java
這個jar包要用maven或其他方式導入
然後放在logstash-7.0.0目錄下(目錄可以自定義)
5.添加logstash的bin目錄下添加mysql_info.conf
6.編輯mysql_info.conf
input {
stdin {
}
jdbc {
# mysql數據庫連接
jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/fast?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC"
# mysqly用戶名和密碼
jdbc_user => "root"
jdbc_password => ""
# 驅動配置
jdbc_driver_library => "D:\service\logstash-7.7.0\mysql\mysql-connector-java\8.0.20\mysql-connector-java-8.0.20.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語句
statement => "SELECT * FROM fa_search"
# 設置監聽 各字段含義 分 時 天 月 年 ,默認全部爲*代表含義:每分鐘都更新
schedule => "* * * * *"
# 索引類型
#type => "blog"
}
}
output {
elasticsearch {
#es服務器
hosts => ["localhost:9200"]
#ES索引名稱
index => "fa_search"
#自增ID
document_id => "%{id}"
}
stdout {
codec => json_lines
}
}
7、附上mysql表
CREATE TABLE `fa_search` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(32) CHARACTER SET utf8 NOT NULL,
`content` text NOT NULL,
`createtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
8、利用php-elasticearch api 創建索引(要添加ik中文分詞插件)
$params = [
'index' => 'fa_search',
'body' => [
'settings' => [
'number_of_shards' => 1,
'number_of_replicas' => 0
],
'mappings' => [
'_source' => [
'enabled' => true
],
'properties' => [
'id' => [
'type' => 'keyword'
],
'name' => [
'type' => 'text',
'analyzer' => 'ik_max_word'
],
'content' => [
'type' => 'text',
'analyzer' => 'ik_max_word'
],
'createtime' => [
'type' => 'date'
]
]
]
]
];
$response = $this->client->indices()->create($params);
var_dump($response);
die;
9、最後啓動logstash -f mysql_info.conf
如有報錯就查詢報錯信息解決