У меня есть поле copy_to с именем srch_address, где я накапливаю все адресные строки и определяю его как «текст», чтобы сделать его доступным для поиска.Но даже после завершения конвейера logstash я не могу увидеть это поле в индексе и не могу искать по нему.Может кто-нибудь помочь?У меня есть поле copy_to в шаблоне, как показано ниже
{
"template": "demographics-template",
"version": 1,
"mappings": {
"_doc": {
"properties": {
"emp_id": {
"type": "keyword"
},
"address_line_1": {
"type": "keyword",
"copy_to": "srch_address"
},
"address_line_2": {
"type": "keyword",
"copy_to": "srch_address"
},
"address_line_3": {
"type": "keyword",
"copy_to": "srch_address"
},
"address_line_4": {
"type": "keyword",
"copy_to": "srch_address"
},
"address_line_5": {
"type": "keyword",
"copy_to": "srch_address"
},
"lst_updt_ts": {
"type": "date"
},
"srch_address": {
"type": "text"
}
}
}
}
}
Моя конфигурация logstash выглядит следующим образом:
input {
jdbc {
#input configurations
jdbc_driver_library => "....jar"
jdbc_driver_class => "..."
jdbc_connection_string => "jdbc:db2://...."
jdbc_user => "***"
jdbc_password => "***"
statement =>
"SELECT *
FROM TBL1
WHERE LST_UPDT_TS > :sql_last_value
WITH UR"
use_column_value => true
tracking_column => "lst_updt_ts"
tracking_column_type => "timestamp"
last_run_metadata_path => "...."
}
}
output {
elasticsearch {
#output configurations
hosts => "http://localhost:9200/"
index => "demographics"
document_id => "%{emp_id}"
template_name => "demographics-template"
template_overwrite => false
}
stdout {
codec => rubydebug
}
}