我想创建一个新字段并将其添加到现有索引中,这样我就可以向该新字段发送唯一值。我希望有一个 API 可以做到这一点,而不必在 Kibana 的 CLI 中进行。但是我遇到了这个 article,它告诉您如何向现有索引添加新字段。
我尝试将其添加到 _source
字段下,但它不允许我这样做。
PUT customer-simulation-es-app-logs-development-2021-07/_mapping
{
"_source":{
"TransactionKey":{
"type": "keyword"
}
}
}
然后我将它添加到 properties
中,这允许我:
PUT customer-simulation-es-app-logs-development-2021-07/_mapping
{
"properties":{
"TransactionKey":{
"type": "keyword"
}
}
}
为了确保它已更新,我运行了 cmd GET customer-simulation-es-app-logs-development-2021-07/_mapping
,它确实返回了它。
{
"customer-simulation-es-app-logs-development-2021-07" : {
"mappings" : {
"properties" : {
"@timestamp" : {
"type" : "date"
},
"TransactionKey" : {
"type" : "keyword"
},
"exceptions" : {
"properties" : {
"ClassName" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
.....
但是当我去 Discover 并为字段输入 TransactionKey 时,什么也没有弹出。我是否没有将新字段正确添加到现有索引中?
答案 0 :(得分:1)
如果您运行的是 7.11 之前的版本,那么您需要转到堆栈管理 > 索引模式并刷新索引模式,然后才能在发现视图中看到您的新字段。每次索引映射更改时都需要执行此操作。
从 7.11 开始,索引模式在需要时都是 refreshed automatically。