Skip to content

Commit 8213a43

Browse files
committed
Merge index definitions extending a template recursively
1 parent 0d78fc6 commit 8213a43

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

src/DependencyInjection/Configuration.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ private function getIndicesNode(): NodeDefinition
140140
if (!isset($templates[$values['extends']])) {
141141
throw new \InvalidArgumentException(\sprintf('Index manager "%s" extends "%s", but it is not defined', $indexManager, $values['extends']));
142142
}
143-
$v[$indexManager] = \array_merge($templates[$values['extends']], $v[$indexManager]);
143+
$v[$indexManager] = \array_replace_recursive($templates[$values['extends']], $v[$indexManager]);
144144
}
145145
unset($v[$indexManager]['extends']);
146146
}

tests/Unit/DependencyInjection/ElasticsearchExtensionTest.php

+22
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,23 @@ public function getData()
4747
],
4848
],
4949
'indices' => [
50+
'_base' => [
51+
'settings' => [
52+
'index' => [
53+
'mapping.nested_fields.limit' => 10,
54+
],
55+
'number_of_replicas' => 1,
56+
'analysis' => [
57+
'filter' => [
58+
'base_filter' => [
59+
'type' => 'custom',
60+
],
61+
],
62+
],
63+
],
64+
],
5065
'test' => [
66+
'extends' => '_base',
5167
'name' => 'testname',
5268
'connection' => 'test1',
5369
'use_aliases' => false,
@@ -102,8 +118,14 @@ public function getData()
102118
'settings' => [
103119
'refresh_interval' => 2,
104120
'number_of_replicas' => 3,
121+
'index' => [
122+
'mapping.nested_fields.limit' => 10,
123+
],
105124
'analysis' => [
106125
'filter' => [
126+
'base_filter' => [
127+
'type' => 'custom',
128+
],
107129
'test_filter' => [
108130
'type' => 'ngram',
109131
],

0 commit comments

Comments
 (0)