gpt4 book ai didi

mysql - 如何设置logstash.conf?

转载 作者:行者123 更新时间:2023-11-28 23:21:23 25 4
gpt4 key购买 nike

我使用带有 logstash 的 elasticsearch 5.1.1 来使用 mysql。

logstash.conf

input {
jdbc {
jdbc_driver_library => "lib/mysql-connector-java-5.1.33.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://localhost:3306/test"
jdbc_user => "test"
jdbc_password => "test"
statement => "SELECT * FROM test"
schedule => "* * * * *"
type => "test"
}
jdbc {
jdbc_driver_library => "lib/mysql-connector-java-5.1.33.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://localhost:3306/test"
jdbc_user => "test"
jdbc_password => "test"
statement => "SELECT * FROM test2"
schedule => "* * * * *"
type => "test2"
}
}

output {
elasticsearch {
hosts => ["localhost:9200"]
index => "test"
document_type => "%{type}"
document_id => "%{test_id}"
}
}

$ bin/logstash -f logstash.conf

成功了。

但我想添加这个选项。

{
"settings": {
"index": {
"analysis": {
"analyzer": {
"korean": {
"type": "custom",
"tokenizer": "seunjeon_default_tokenizer"
}
},
"tokenizer": {
"seunjeon_default_tokenizer": {
"type": "seunjeon_tokenizer",
"index_eojeol": false,
"user_words": [
"abc"
]
}
}
}
}
}
}

如何将此选项添加到 conf 文件?

如果我添加更多具有不同列的表,如何动态设置 document_id?

最佳答案

关于第一个问题:

How to add this option to conf file?

我相信索引设置可以用两种不同的方式设置

在您的情况下,我认为第一种选择更好。为此,您需要创建一个 index template包含您希望在创建索引时应用到索引的设置。 “template”键的值必须与您将创建的索引的名称相匹配(在您的示例中为“test”)。

我认为您不能直接将索引设置添加到 logstash 配置文件中。您可以使用 REST API(PUT _template/template_name 端点)上传模板或让 logstash 加载您的模板。

如果你想让 logstash 创建模板,你可以使用 template 引用 elasticsearch block 中 logstash 配置中的模板文件。选项。 logstash 配置文件中引用的模板文件必须存储在运行 logstash 的同一主机中。您可以使用 template_overwrite用于控制是否覆盖现有索引模板的选项。

logstash 配置如下所示:

output {
elasticsearch {
hosts => ["localhost:9200"]
index => "test"
document_type => "%{type}"
document_id => "%{test_id}"
template => "path/to/the/template/file"
}

}

模板文件将包含:

{
"template": "test",
"settings" : {
"index":{
"analysis":{
"analyzer":{
"korean":{
"type":"custom",
"tokenizer":"seunjeon_default_tokenizer"
}
},
"tokenizer": {
"seunjeon_default_tokenizer": {
"type": "seunjeon_tokenizer",
"index_eojeol": false,
"user_words": ["abc"]
}
}
}
}
}
}

您可能还想包括 mappings在你的索引模板中

希望这对您有所帮助!

(请注意,我没有尝试过这种特定情况)

关于mysql - 如何设置logstash.conf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41435656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com