Skip to content

Commit e95a905

Browse files
authored
Increase index.max_docvalue_fields_search to 200 (#20218)
The number of docvalue fields in Filebeat went beyond 100 and Discover was not loading. I added settings.index.max_docvalue_fields_search=200 to the default index template. In Filebeat there are about 117 fields now. Fixes #20215
1 parent 96fa64d commit e95a905

3 files changed

Lines changed: 12 additions & 3 deletions

File tree

CHANGELOG.next.asciidoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d
354354
- Add support to trim captured values in the dissect processor. {pull}19464[19464]
355355
- Added the `max_cached_sessions` option to the script processor. {pull}19562[19562]
356356
- Add support for DNS over TLS for the dns_processor. {pull}19321[19321]
357+
- Set index.max_docvalue_fields_search in index template to increase value to 200 fields. {issue}20215[20215]
357358

358359
*Auditbeat*
359360

libbeat/template/template.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,10 @@ import (
3232

3333
var (
3434
// Defaults used in the template
35-
defaultDateDetection = false
36-
defaultTotalFieldsLimit = 10000
37-
defaultNumberOfRoutingShards = 30
35+
defaultDateDetection = false
36+
defaultTotalFieldsLimit = 10000
37+
defaultNumberOfRoutingShards = 30
38+
defaultMaxDocvalueFieldsSearch = 200
3839

3940
// Array to store dynamicTemplate parts in
4041
dynamicTemplates []common.MapStr
@@ -325,6 +326,10 @@ func buildIdxSettings(ver common.Version, userSettings common.MapStr) common.Map
325326
indexSettings.Put("query.default_field", fields)
326327
}
327328

329+
if ver.Major >= 6 {
330+
indexSettings.Put("max_docvalue_fields_search", defaultMaxDocvalueFieldsSearch)
331+
}
332+
328333
indexSettings.DeepUpdate(userSettings)
329334
return indexSettings
330335
}

libbeat/template/template_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,20 +113,23 @@ func TestTemplate(t *testing.T) {
113113
template.Assert("index_patterns", []string{"testbeat-" + currentVersion + "-*"})
114114
template.Assert("order", 1)
115115
template.Assert("mappings.doc._meta", common.MapStr{"beat": "testbeat", "version": currentVersion})
116+
template.Assert("settings.index.max_docvalue_fields_search", 200)
116117
})
117118

118119
t.Run("for ES 7.x", func(t *testing.T) {
119120
template := createTestTemplate(t, currentVersion, "7.2.0", DefaultConfig())
120121
template.Assert("index_patterns", []string{"testbeat-" + currentVersion + "-*"})
121122
template.Assert("order", 1)
122123
template.Assert("mappings._meta", common.MapStr{"beat": "testbeat", "version": currentVersion})
124+
template.Assert("settings.index.max_docvalue_fields_search", 200)
123125
})
124126

125127
t.Run("for ES 8.x", func(t *testing.T) {
126128
template := createTestTemplate(t, currentVersion, "8.0.0", DefaultConfig())
127129
template.Assert("index_patterns", []string{"testbeat-" + currentVersion + "-*"})
128130
template.Assert("order", 1)
129131
template.Assert("mappings._meta", common.MapStr{"beat": "testbeat", "version": currentVersion})
132+
template.Assert("settings.index.max_docvalue_fields_search", 200)
130133
})
131134
}
132135

0 commit comments

Comments
 (0)