#elasticsearch
Вопрос:
Независимо от того, что я делаю, когда индекс создается с помощью процесса сердцебиения (7.10.2), Elasticsearch отображает все поля и monitor.id будет похоже:
GET /heartbeat-7.10.2-2021.05.25
[...]
"monitor" : {
"properties" : {
"id" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
[...]
даже если я удалю индекс, шаблон и обновлю шаблон как:
{
"order" : 1,
"index_patterns" : [
"heartbeat-7.10.2-*"
],
"settings" : {
},
"mappings" : {
"dynamic": false,
"properties" : {
"monitor" : {
"properties" : {
"id" : {
"ignore_above" : 1024,
"type" : "keyword"
}
}
}
}
},
"aliases" : { }
}
Похоже, что конфигурация шаблона игнорируется.
Другого шаблона сердцебиения не существует.
Это проблематично, потому что таким образом я не могу использовать, например monitor.id для агрегирования. Это проблема с несколькими полями.
Я относительно новичок в шаблонах, так что, возможно, я что-то упускаю.
Комментарии:
1. Можете ли вы показать, что вы получаете от
GET _cat/templates?v
этого ?
Ответ №1:
Так что, по-видимому, у меня были как _template, так и _index_template, и _index_template имел приоритет
После
delete _index_template/heartbeat*
это работает просто отлично.