Logstash设置ElasticSearch默认分词器
ElasticSearch:7.2.0
Logstash:7.2.0
1.定义Logstash模板
2.Logstash配置文件
3.查看执行结果
4.测试
对人工智能感兴趣的同学,可以点击以下链接:
现在人工智能非常火爆,很多朋友都想学,但是一般的教程都是为博硕生准备的,太难看懂了。最近发现了一个非常适合小白入门的教程,不仅通俗易懂而且还很风趣幽默。所以忍不住分享一下给大家。点这里可以跳转到教程。
https://www.cbedai.net/u014646662
以mysql导入es数据为例:
1.定义Logstash模板
文件名:logstash.json(这个模板适合7.x的,应该不适合6.x,7.x默认情况下不可以指定索引类型)
{
"index_patterns": ["*"],
"order" : 0,
"version": 1,
"settings": {
"number_of_shards": 1,
"number_of_replicas":0
},
"mappings": {
"date_detection": true,
"numeric_detection": true,
"dynamic_templates": [
{
"string_fields": {
"match": "*",
"match_mapping_type": "string",
"mapping": {
"type": "text",
"norms": false,
"analyzer": "ik_max_word",
"fields": {
"keyword": {
"type": "keyword"
}
}
}
}
}
]
}
}
"template": "*",是匹配所有索引的意思,
如果只想匹配以test-开头的索引, "template": "test-*"
"analyzer": "ik_max_word",这里用的是ik分词器,如果想是有其他分词器,在这里修改即可
"match": "*",匹配字段名
"date_detection": true,识别日期类型
"numeric_detection": true,识别数字类型
2.Logstash配置文件
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.
input {
jdbc {
jdbc_driver_library => "H:/软件/ES/mysql-connector-java.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://192.168.131.77:3306/test?useUnicode=true&characterEncoding=utf8"
jdbc_user => "zabbix"
jdbc_password => "ztx"
jdbc_paging_enabled => "true"
#jdbc_page_size => "50000"
#sql_log_level => warn
# 防止自动将大小转为小写
#lowercase_column_names => false
#last_run_metadata_path => "D:/logstash/last_run.txt"
# 记录上一次运行记录
#record_last_run => true
# 使用字段值
#use_column_value => true
# 是否删除记录的数据
#clean_run => false
#tracking_column => id
#追踪字段的类型,默认是数字类型
#tracking_column_type => "numeric"
# 设置监听间隔 分、时、天、月、年,全部为*为每分钟都更新
#schedule => "* * * * *"
#statement => "SELECT * from test where id > :sql_last_value"
statement => "SELECT * fro

最低0.47元/天 解锁文章
1251

被折叠的 条评论
为什么被折叠?



