summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/schema/processing/SummaryTransformForDocumentId.java
diff options
context:
space:
mode:
authorGeir Storli <geirst@yahooinc.com>2022-07-12 09:28:45 +0000
committerGeir Storli <geirst@yahooinc.com>2022-07-12 09:28:45 +0000
commita82fcc5b74a6fb788e29103585779bcae2af5ad7 (patch)
tree6543097104c09e87da6a18fbe1c011537b413d0d /config-model/src/main/java/com/yahoo/schema/processing/SummaryTransformForDocumentId.java
parente65c9d4cc7d4950f309b50b8d5443e97188d6321 (diff)
Add new summary transform for all 'documentid' summary fields.
This prepares for no longer inserting 'documentid' fields in the docsum blob in the backend. Instead such fields will be produced using a docsum writer (transform) that uses the document instance to get the id.
Diffstat (limited to 'config-model/src/main/java/com/yahoo/schema/processing/SummaryTransformForDocumentId.java')
-rw-r--r--config-model/src/main/java/com/yahoo/schema/processing/SummaryTransformForDocumentId.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/config-model/src/main/java/com/yahoo/schema/processing/SummaryTransformForDocumentId.java b/config-model/src/main/java/com/yahoo/schema/processing/SummaryTransformForDocumentId.java
new file mode 100644
index 00000000000..99419ecd526
--- /dev/null
+++ b/config-model/src/main/java/com/yahoo/schema/processing/SummaryTransformForDocumentId.java
@@ -0,0 +1,32 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.schema.processing;
+
+import com.yahoo.config.application.api.DeployLogger;
+import com.yahoo.schema.RankProfileRegistry;
+import com.yahoo.schema.Schema;
+import com.yahoo.schema.derived.SummaryClass;
+import com.yahoo.vespa.documentmodel.SummaryTransform;
+import com.yahoo.vespa.model.container.search.QueryProfiles;
+
+/**
+ * Adds the corresponding summary transform for all "documentid" summary fields.
+ *
+ * @author geirst
+ */
+public class SummaryTransformForDocumentId extends Processor {
+
+ public SummaryTransformForDocumentId(Schema schema, DeployLogger deployLogger, RankProfileRegistry rankProfileRegistry, QueryProfiles queryProfiles) {
+ super(schema, deployLogger, rankProfileRegistry, queryProfiles);
+ }
+
+ @Override
+ public void process(boolean validate, boolean documentsOnly) {
+ for (var summary : schema.getSummaries().values()) {
+ for (var summaryField : summary.getSummaryFields().values()) {
+ if (summaryField.getName().equals(SummaryClass.DOCUMENT_ID_FIELD)) {
+ summaryField.setTransform(SummaryTransform.DOCUMENT_ID);
+ }
+ }
+ }
+ }
+}