summaryrefslogtreecommitdiffstats
path: root/indexinglanguage
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@oath.com>2018-06-07 10:45:14 +0200
committerTor Brede Vekterli <vekterli@oath.com>2018-06-07 10:45:14 +0200
commitc6bdb3015528cc6358eaf978e94c690e14ed5042 (patch)
treea69b712404827eba7b21cb378aad1beb1dfb3950 /indexinglanguage
parent613bbb29cc6f683d0116e967c939c65f404b7128 (diff)
Bring back support for conversion of 'complete' field path updates
Converts complete updates to regular field value updates
Diffstat (limited to 'indexinglanguage')
-rw-r--r--indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/SimpleAdapterFactory.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/SimpleAdapterFactory.java b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/SimpleAdapterFactory.java
index 038e91b7481..509bdcaa32d 100644
--- a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/SimpleAdapterFactory.java
+++ b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/SimpleAdapterFactory.java
@@ -48,7 +48,14 @@ public class SimpleAdapterFactory implements AdapterFactory {
DocumentId docId = upd.getId();
Document complete = new Document(docType, upd.getId());
for (FieldPathUpdate fieldUpd : upd) {
- ret.add(new IdentityFieldPathUpdateAdapter(fieldUpd, newDocumentAdapter(complete, true)));
+ if (FieldPathUpdateHelper.isComplete(fieldUpd)) {
+ // A 'complete' field path update is basically a regular top-level field update
+ // in wolf's clothing. Convert it to a regular field update to be friendlier
+ // towards the search core backend.
+ FieldPathUpdateHelper.applyUpdate(fieldUpd, complete);
+ } else {
+ ret.add(new IdentityFieldPathUpdateAdapter(fieldUpd, newDocumentAdapter(complete, true)));
+ }
}
for (FieldUpdate fieldUpd : upd.getFieldUpdates()) {
Field field = fieldUpd.getField();