Skip to content

Commit cee07e9

Browse files
authored
TASK: Check type of __fulltextParts to ensure it is always a hash map
2 parents 9efa79f + 8caf72d commit cee07e9

2 files changed

Lines changed: 5 additions & 5 deletions

File tree

Classes/Driver/Version1/IndexerDriver.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ public function fulltext(NodeInterface $node, array $fulltextIndexOfNode, $targe
114114
[
115115
// first, update the __fulltextParts, then re-generate the __fulltext from all __fulltextParts
116116
'script' => '
117-
if (!ctx._source.containsKey("__fulltextParts")) {
117+
if (!(ctx._source.containsKey("__fulltextParts") && ctx._source.__fulltextParts instanceof Map)) {
118118
ctx._source.__fulltextParts = new LinkedHashMap();
119119
}
120120

Classes/Driver/Version2/IndexerDriver.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -123,19 +123,19 @@ public function fulltext(NodeInterface $node, array $fulltextIndexOfNode, $targe
123123
'script' => [
124124
'inline' => '
125125
ctx._source.__fulltext = new HashMap();
126-
127-
if (!ctx._source.containsKey("__fulltextParts")) {
126+
127+
if (!(ctx._source.containsKey("__fulltextParts") && ctx._source.__fulltextParts instanceof Map)) {
128128
ctx._source.__fulltextParts = new HashMap();
129129
}
130-
130+
131131
if (nodeIsRemoved || nodeIsHidden || fulltext.size() == 0) {
132132
if (ctx._source.__fulltextParts.containsKey(identifier)) {
133133
ctx._source.__fulltextParts.remove(identifier);
134134
}
135135
} else {
136136
ctx._source.__fulltextParts.put(identifier, fulltext);
137137
}
138-
138+
139139
ctx._source.__fulltextParts.each { originNodeIdentifier, partContent -> partContent.each { bucketKey, content ->
140140
if (ctx._source.__fulltext.containsKey(bucketKey)) {
141141
value = ctx._source.__fulltext[bucketKey] + " " + content.trim();

0 commit comments

Comments
 (0)