diff options
author | Tor Brede Vekterli <vekterli@oath.com> | 2018-06-07 10:45:14 +0200 |
---|---|---|
committer | Tor Brede Vekterli <vekterli@oath.com> | 2018-06-07 10:45:14 +0200 |
commit | c6bdb3015528cc6358eaf978e94c690e14ed5042 (patch) | |
tree | a69b712404827eba7b21cb378aad1beb1dfb3950 /indexinglanguage | |
parent | 613bbb29cc6f683d0116e967c939c65f404b7128 (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.java | 9 |
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(); |