From 1c37f6a5646d991de68759f2312164799a89ccaa Mon Sep 17 00:00:00 2001 From: Jon Bratseth Date: Tue, 18 Sep 2018 10:26:46 -0700 Subject: Don't build rank profiles when generating document Java classes --- ...ttributeTransformToSummaryOfImportedFields.java | 2 +- .../processing/AddExtraFieldsToDocument.java | 2 +- .../processing/AttributeProperties.java | 2 +- .../processing/AttributesImplicitWord.java | 2 +- .../yahoo/searchdefinition/processing/Bolding.java | 2 +- .../processing/BuiltInFieldSets.java | 3 ++- .../processing/CreatePositionZCurve.java | 2 +- .../processing/DeprecateAttributePrefetch.java | 2 +- .../DisallowComplexMapAndWsetKeyTypes.java | 2 +- .../processing/DiversitySettingsValidator.java | 3 ++- .../searchdefinition/processing/ExactMatch.java | 2 +- .../processing/FastAccessValidator.java | 4 ++-- .../processing/FieldSetValidity.java | 2 +- .../processing/FilterFieldNames.java | 4 +++- .../processing/ImplicitSummaries.java | 2 +- .../processing/ImplicitSummaryFields.java | 2 +- .../processing/ImportedFieldsResolver.java | 2 +- .../processing/IndexFieldNames.java | 2 +- .../processing/IndexSettingsNonFieldNames.java | 2 +- .../processing/IndexingInputs.java | 2 +- .../processing/IndexingOutputs.java | 2 +- .../processing/IndexingValidation.java | 2 +- .../processing/IndexingValues.java | 2 +- .../processing/IntegerIndex2Attribute.java | 2 +- .../searchdefinition/processing/LiteralBoost.java | 2 +- .../searchdefinition/processing/MakeAliases.java | 2 +- .../processing/MakeDefaultSummaryTheSuperSet.java | 2 +- .../processing/MatchConsistency.java | 2 +- .../processing/MatchPhaseSettingsValidator.java | 3 ++- .../processing/MinimalProcessing.java | 10 --------- .../processing/MultifieldIndexHarmonizer.java | 2 +- .../processing/MutableAttributes.java | 6 +++--- .../searchdefinition/processing/NGramMatch.java | 2 +- .../processing/OptimizeIlscript.java | 2 +- .../processing/PredicateProcessor.java | 2 +- .../searchdefinition/processing/Processing.java | 25 ++++++---------------- .../searchdefinition/processing/Processor.java | 4 +++- .../processing/RankingExpressionTypeValidator.java | 3 ++- .../processing/ReferenceFieldsProcessor.java | 2 +- .../processing/ReservedDocumentNames.java | 2 +- .../processing/ReservedFunctionNames.java | 5 +++-- .../processing/SearchMustHaveDocument.java | 2 +- .../searchdefinition/processing/SetLanguage.java | 3 ++- .../processing/SetRankTypeEmptyOnFilters.java | 2 +- .../processing/SortingSettings.java | 2 +- .../StringSettingsOnNonStringFields.java | 2 +- .../processing/SummaryConsistency.java | 2 +- .../processing/SummaryDynamicStructsArrays.java | 2 +- .../SummaryFieldsMustHaveValidSource.java | 2 +- .../processing/SummaryNamesFieldCollisions.java | 2 +- .../yahoo/searchdefinition/processing/TagType.java | 2 +- .../processing/TensorFieldProcessor.java | 2 +- .../searchdefinition/processing/TextMatch.java | 2 +- .../yahoo/searchdefinition/processing/UriHack.java | 2 +- .../processing/UrlFieldValidator.java | 2 +- .../processing/ValidateFieldTypes.java | 2 +- ...ValidateFieldWithIndexSettingsCreatesIndex.java | 2 +- .../searchdefinition/processing/WordMatch.java | 2 +- .../RankProfileTypeSettingsProcessor.java | 6 ++++-- 59 files changed, 81 insertions(+), 90 deletions(-) delete mode 100644 config-model/src/main/java/com/yahoo/searchdefinition/processing/MinimalProcessing.java (limited to 'config-model/src/main/java/com/yahoo/searchdefinition/processing') diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/AddAttributeTransformToSummaryOfImportedFields.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/AddAttributeTransformToSummaryOfImportedFields.java index cf123d0f7c1..fefb54a7fe3 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/AddAttributeTransformToSummaryOfImportedFields.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/AddAttributeTransformToSummaryOfImportedFields.java @@ -27,7 +27,7 @@ public class AddAttributeTransformToSummaryOfImportedFields extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { search.allImportedFields() .flatMap(this::getSummaryFieldsForImportedField) .forEach(AddAttributeTransformToSummaryOfImportedFields::setAttributeTransform); diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/AddExtraFieldsToDocument.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/AddExtraFieldsToDocument.java index e0d32ea8ccd..803a6c5ab40 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/AddExtraFieldsToDocument.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/AddExtraFieldsToDocument.java @@ -26,7 +26,7 @@ public class AddExtraFieldsToDocument extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { SDDocumentType document = search.getDocument(); if (document != null) { for (Field field : search.extraFieldList()) { diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/AttributeProperties.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/AttributeProperties.java index 9ec596792fa..94589d94255 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/AttributeProperties.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/AttributeProperties.java @@ -20,7 +20,7 @@ public class AttributeProperties extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { for (SDField field : search.allConcreteFields()) { String fieldName = field.getName(); diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/AttributesImplicitWord.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/AttributesImplicitWord.java index a95f4264dc6..23257e5eafd 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/AttributesImplicitWord.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/AttributesImplicitWord.java @@ -23,7 +23,7 @@ public class AttributesImplicitWord extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { for (SDField field : search.allConcreteFields()) { if (fieldImplicitlyWordMatch(field)) { field.getMatching().setType(Matching.Type.WORD); diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/Bolding.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/Bolding.java index a3c4c97cf31..b9be30e8485 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/Bolding.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/Bolding.java @@ -22,7 +22,7 @@ public class Bolding extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; for (SDField field : search.allConcreteFields()) { for (SummaryField summary : field.getSummaryFields()) { diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/BuiltInFieldSets.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/BuiltInFieldSets.java index 37d60c1d32e..a0c4c8adb2d 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/BuiltInFieldSets.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/BuiltInFieldSets.java @@ -10,6 +10,7 @@ import com.yahoo.vespa.model.container.search.QueryProfiles; /** * Adds field sets for 1) fields defined inside document type 2) fields inside search but outside document + * * @author Vegard Havdal */ public class BuiltInFieldSets extends Processor { @@ -23,7 +24,7 @@ public class BuiltInFieldSets extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { addDocumentFieldSet(); addSearchFieldSet(); // "Hook" the field sets on search onto the document types, since we will include them diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/CreatePositionZCurve.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/CreatePositionZCurve.java index d7b688be203..ad862ef767f 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/CreatePositionZCurve.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/CreatePositionZCurve.java @@ -38,7 +38,7 @@ public class CreatePositionZCurve extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { for (SDField field : search.allConcreteFields()) { DataType fieldType = field.getDataType(); if ( ! isSupportedPositionType(fieldType)) continue; diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/DeprecateAttributePrefetch.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/DeprecateAttributePrefetch.java index 7cc9b4e9b52..b34db6febd5 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/DeprecateAttributePrefetch.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/DeprecateAttributePrefetch.java @@ -15,7 +15,7 @@ public class DeprecateAttributePrefetch extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; for (SDField field : search.allConcreteFields()) { diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/DisallowComplexMapAndWsetKeyTypes.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/DisallowComplexMapAndWsetKeyTypes.java index 861ebad7085..076161a8584 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/DisallowComplexMapAndWsetKeyTypes.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/DisallowComplexMapAndWsetKeyTypes.java @@ -23,7 +23,7 @@ public class DisallowComplexMapAndWsetKeyTypes extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; // TODO also traverse struct types to search for bad map or wset types there. Do this after document manager is fixed, do diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/DiversitySettingsValidator.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/DiversitySettingsValidator.java index 6b78da2146b..029892cba1c 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/DiversitySettingsValidator.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/DiversitySettingsValidator.java @@ -18,8 +18,9 @@ public class DiversitySettingsValidator extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; + if (documentsOnly) return; for (RankProfile rankProfile : rankProfileRegistry.rankProfilesOf(search)) { if (rankProfile.getMatchPhaseSettings() != null && rankProfile.getMatchPhaseSettings().getDiversity() != null) { diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ExactMatch.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ExactMatch.java index 59bc3dc66f4..a7c0ebd4a07 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ExactMatch.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ExactMatch.java @@ -26,7 +26,7 @@ public class ExactMatch extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { for (SDField field : search.allConcreteFields()) { Matching.Type matching = field.getMatching().getType(); if (matching.equals(Matching.Type.EXACT) || matching.equals(Matching.Type.WORD)) { diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/FastAccessValidator.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/FastAccessValidator.java index 9cfac625da5..cd33e4434e7 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/FastAccessValidator.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/FastAccessValidator.java @@ -21,7 +21,7 @@ public class FastAccessValidator extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; String invalidAttributes = search.allFields() @@ -29,7 +29,7 @@ public class FastAccessValidator extends Processor { .filter(FastAccessValidator::isIncompatibleAttribute) .map(Attribute::getName) .collect(Collectors.joining(", ")); - if (!invalidAttributes.isEmpty()) { + if ( ! invalidAttributes.isEmpty()) { throw new IllegalArgumentException( String.format( "For search '%s': The following attributes have a type that is incompatible with fast-access: %s. " + diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/FieldSetValidity.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/FieldSetValidity.java index 15c11589245..4ef9a9733d5 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/FieldSetValidity.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/FieldSetValidity.java @@ -24,7 +24,7 @@ public class FieldSetValidity extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; for (FieldSet fieldSet : search.fieldSets().userFieldSets().values()) { diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/FilterFieldNames.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/FilterFieldNames.java index 0c75314ffa2..adb8ab62aab 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/FilterFieldNames.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/FilterFieldNames.java @@ -26,7 +26,9 @@ public class FilterFieldNames extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { + if (documentsOnly) return; + for (SDField f : search.allConcreteFields()) { if (f.getRanking().isFilter()) { filterField(f.getName()); diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ImplicitSummaries.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ImplicitSummaries.java index b51524b7e62..1f795458875 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ImplicitSummaries.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ImplicitSummaries.java @@ -28,7 +28,7 @@ public class ImplicitSummaries extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { DocumentSummary defaultSummary = search.getSummary("default"); if (defaultSummary == null) { defaultSummary = new DocumentSummary("default"); diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ImplicitSummaryFields.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ImplicitSummaryFields.java index 7464f574255..0d99c698aca 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ImplicitSummaryFields.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ImplicitSummaryFields.java @@ -21,7 +21,7 @@ public class ImplicitSummaryFields extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { for (DocumentSummary docsum : search.getSummaries().values()) { addField(docsum, new SummaryField("rankfeatures", DataType.STRING, SummaryTransform.RANKFEATURES), validate); addField(docsum, new SummaryField("summaryfeatures", DataType.STRING, SummaryTransform.SUMMARYFEATURES), validate); diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ImportedFieldsResolver.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ImportedFieldsResolver.java index 9f03cdf4b5e..a3efd086c6a 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ImportedFieldsResolver.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ImportedFieldsResolver.java @@ -33,7 +33,7 @@ public class ImportedFieldsResolver extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { search.temporaryImportedFields().get().fields().forEach((name, field) -> resolveImportedField(field, validate)); search.setImportedFields(new ImportedFields(importedFields)); } diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexFieldNames.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexFieldNames.java index 018183b91d8..210a8e7009c 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexFieldNames.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexFieldNames.java @@ -23,7 +23,7 @@ public class IndexFieldNames extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; for (SDField field : search.allConcreteFields()) { diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexSettingsNonFieldNames.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexSettingsNonFieldNames.java index 0740029de90..41355a76f47 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexSettingsNonFieldNames.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexSettingsNonFieldNames.java @@ -24,7 +24,7 @@ public class IndexSettingsNonFieldNames extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; for (SDField field : search.allConcreteFields()) { diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingInputs.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingInputs.java index 419268468c2..aeab2bb6638 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingInputs.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingInputs.java @@ -27,7 +27,7 @@ public class IndexingInputs extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { for (SDField field : search.allConcreteFields()) { ScriptExpression script = field.getIndexingScript(); if (script == null) continue; diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingOutputs.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingOutputs.java index 6f04184c512..11d69bf6c75 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingOutputs.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingOutputs.java @@ -29,7 +29,7 @@ public class IndexingOutputs extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { for (SDField field : search.allConcreteFields()) { ScriptExpression script = field.getIndexingScript(); if (script == null) continue; diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingValidation.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingValidation.java index b73151768fd..27520647e3b 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingValidation.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingValidation.java @@ -25,7 +25,7 @@ public class IndexingValidation extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; VerificationContext context = new VerificationContext(new MyAdapter(search)); diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingValues.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingValues.java index f3907ae68cb..72777b7dfb4 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingValues.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingValues.java @@ -22,7 +22,7 @@ public class IndexingValues extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; for (Field field : search.getDocument().fieldSet()) { diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/IntegerIndex2Attribute.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/IntegerIndex2Attribute.java index c119dc2660b..baaf145dbce 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/IntegerIndex2Attribute.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/IntegerIndex2Attribute.java @@ -30,7 +30,7 @@ public class IntegerIndex2Attribute extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { for (SDField field : search.allConcreteFields()) { if (field.doesIndexing() && field.getDataType().getPrimitiveType() instanceof NumericDataType) { if (field.getIndex(field.getName()) != null diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/LiteralBoost.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/LiteralBoost.java index 507a0e87cff..fe94ac9849f 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/LiteralBoost.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/LiteralBoost.java @@ -31,7 +31,7 @@ public class LiteralBoost extends Processor { /** Adds extra search fields and indices to express literal boosts */ @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { checkRankModifierRankType(search); addLiteralBoostsToFields(search); reduceFieldLiteralBoosts(search); diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/MakeAliases.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/MakeAliases.java index f853b99bbb2..0daf7265daa 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/MakeAliases.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/MakeAliases.java @@ -25,7 +25,7 @@ public class MakeAliases extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { List usedAliases = new ArrayList<>(); for (SDField field : search.allConcreteFields()) { for (Map.Entry e : field.getAliasToName().entrySet()) { diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/MakeDefaultSummaryTheSuperSet.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/MakeDefaultSummaryTheSuperSet.java index 2c43a65da99..6f67c22d9d2 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/MakeDefaultSummaryTheSuperSet.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/MakeDefaultSummaryTheSuperSet.java @@ -34,7 +34,7 @@ public class MakeDefaultSummaryTheSuperSet extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { DocumentSummary defaultSummary=search.getSummary("default"); for (SummaryField summaryField : search.getUniqueNamedSummaryFields().values() ) { if (defaultSummary.getSummaryField(summaryField.getName()) != null) continue; diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/MatchConsistency.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/MatchConsistency.java index fe584fa41c0..ff8a5c2eb0b 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/MatchConsistency.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/MatchConsistency.java @@ -30,7 +30,7 @@ public class MatchConsistency extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; Map types = new HashMap<>(); diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/MatchPhaseSettingsValidator.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/MatchPhaseSettingsValidator.java index 479384e09ef..b1728b9bd89 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/MatchPhaseSettingsValidator.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/MatchPhaseSettingsValidator.java @@ -20,8 +20,9 @@ public class MatchPhaseSettingsValidator extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; + if (documentsOnly) return; for (RankProfile rankProfile : rankProfileRegistry.rankProfilesOf(search)) { RankProfile.MatchPhaseSettings settings = rankProfile.getMatchPhaseSettings(); diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/MinimalProcessing.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/MinimalProcessing.java deleted file mode 100644 index 0fee844ecbc..00000000000 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/MinimalProcessing.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.yahoo.searchdefinition.processing; - -import java.util.Collection; - -public class MinimalProcessing extends Processing { - @Override - protected Collection createProcessorFactories() { - return minimalSetOfProcessors(); - } -} diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/MultifieldIndexHarmonizer.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/MultifieldIndexHarmonizer.java index 45e018f8fc3..a52a8ab74e6 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/MultifieldIndexHarmonizer.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/MultifieldIndexHarmonizer.java @@ -31,7 +31,7 @@ public class MultifieldIndexHarmonizer extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { populateIndexToFields(search); resolveAllConflicts(search); } diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/MutableAttributes.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/MutableAttributes.java index 9bcb3929b3d..4d8f0032a78 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/MutableAttributes.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/MutableAttributes.java @@ -15,12 +15,12 @@ public class MutableAttributes extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { for (SDField field : search.allConcreteFields()) { - if (!field.isExtraField() && field.getAttributes().containsKey(field.getName())) { + if ( ! field.isExtraField() && field.getAttributes().containsKey(field.getName())) { if (field.getAttributes().get(field.getName()).isMutable()) { throw new IllegalArgumentException("Field '" + field.getName() + "' in '" + search.getDocument().getName() + - "' can not be marked mutable as it is inside the document clause."); + "' can not be marked mutable as it is inside the document clause."); } } } diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/NGramMatch.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/NGramMatch.java index cdfba54ee5a..3f3fc11380b 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/NGramMatch.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/NGramMatch.java @@ -26,7 +26,7 @@ public class NGramMatch extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { for (SDField field : search.allConcreteFields()) { if (field.getMatching().getType().equals(Matching.Type.GRAM)) implementGramMatch(search, field, validate); diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/OptimizeIlscript.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/OptimizeIlscript.java index c89c709ffbf..8f2a29abcb6 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/OptimizeIlscript.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/OptimizeIlscript.java @@ -22,7 +22,7 @@ public class OptimizeIlscript extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { for (SDField field : search.allConcreteFields()) { ScriptExpression script = field.getIndexingScript(); if (script == null) continue; diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/PredicateProcessor.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/PredicateProcessor.java index 3583c4a0162..79f19efe422 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/PredicateProcessor.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/PredicateProcessor.java @@ -33,7 +33,7 @@ public class PredicateProcessor extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { for (SDField field : search.allConcreteFields()) { if (field.getDataType() == DataType.PREDICATE) { if (validate && field.doesIndexing()) { diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/Processing.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/Processing.java index d92979f3ae4..8c8c32389e2 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/Processing.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/Processing.java @@ -20,7 +20,7 @@ import java.util.List; */ public class Processing { - protected Collection minimalSetOfProcessors() { + private Collection processors() { return Arrays.asList( SearchMustHaveDocument::new, UrlFieldValidator::new, @@ -74,24 +74,13 @@ public class Processing { RankProfileTypeSettingsProcessor::new, ReferenceFieldsProcessor::new, FastAccessValidator::new, - ReservedFunctionNames::new); - } - - private Collection extendedSetOfProcessors() { - return Arrays.asList( + ReservedFunctionNames::new, RankingExpressionTypeValidator::new, - - // These should be last. + // These should be last: IndexingValidation::new, IndexingValues::new); } - protected Collection createProcessorFactories() { - List processorFactories = new ArrayList<>(minimalSetOfProcessors()); - processorFactories.addAll(extendedSetOfProcessors()); - return processorFactories; - } - /** * Runs all search processors on the given {@link Search} object. These will modify the search object, possibly * exchanging it with another, as well as its document types. @@ -102,17 +91,17 @@ public class Processing { * @param queryProfiles The query profiles contained in the application this search is part of. */ public void process(Search search, DeployLogger deployLogger, RankProfileRegistry rankProfileRegistry, - QueryProfiles queryProfiles, boolean validate) - { - Collection factories = createProcessorFactories(); + QueryProfiles queryProfiles, boolean validate, boolean documentsOnly) { + Collection factories = processors(); search.process(); factories.stream() .map(factory -> factory.create(search, deployLogger, rankProfileRegistry, queryProfiles)) - .forEach(processor -> processor.process(validate)); + .forEach(processor -> processor.process(validate, documentsOnly)); } @FunctionalInterface public interface ProcessorFactory { Processor create(Search search, DeployLogger deployLogger, RankProfileRegistry rankProfileRegistry, QueryProfiles queryProfiles); } + } diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/Processor.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/Processor.java index b938e40d9a2..6bfd0ef29ea 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/Processor.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/Processor.java @@ -53,8 +53,10 @@ public abstract class Processor { * @param validate true to throw exceptions on validation errors, false to make the best possible effort * at completing processing without throwing an exception. * If we are not validating, emitting warnings have no effect and can (but must not) be skipped. + * @param documentsOnly true to skip processing (including validation, regardless of the validate setting) + * of aspects not relating to document definitions (e.g rank profiles) */ - public abstract void process(boolean validate); + public abstract void process(boolean validate, boolean documentsOnly); /** * Convenience method for adding a no-strings-attached implementation field for a regular field diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/RankingExpressionTypeValidator.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/RankingExpressionTypeValidator.java index b3fe8ec36f6..102d1910360 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/RankingExpressionTypeValidator.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/RankingExpressionTypeValidator.java @@ -33,8 +33,9 @@ public class RankingExpressionTypeValidator extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; + if (documentsOnly) return; for (RankProfile profile : rankProfileRegistry.rankProfilesOf(search)) { try { diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ReferenceFieldsProcessor.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ReferenceFieldsProcessor.java index 76afcd5d520..0418538922b 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ReferenceFieldsProcessor.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ReferenceFieldsProcessor.java @@ -28,7 +28,7 @@ public class ReferenceFieldsProcessor extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { clearSummaryAttributeAspectForConcreteFields(); clearSummaryAttributeAspectForExplicitSummaryFields(); } diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ReservedDocumentNames.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ReservedDocumentNames.java index f2aa31bb9c3..805cbaced0f 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ReservedDocumentNames.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ReservedDocumentNames.java @@ -28,7 +28,7 @@ public class ReservedDocumentNames extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; String docName = search.getDocument().getName(); diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ReservedFunctionNames.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ReservedFunctionNames.java index 8aa8ff56756..d7099215f17 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ReservedFunctionNames.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ReservedFunctionNames.java @@ -27,13 +27,14 @@ public class ReservedFunctionNames extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; + if (documentsOnly) return; for (RankProfile rp : rankProfileRegistry.all()) { for (String functionName : rp.getFunctions().keySet()) { if (reservedNames.contains(functionName)) { - deployLogger.log(Level.WARNING, "Funcion '" + functionName + "' " + + deployLogger.log(Level.WARNING, "Function '" + functionName + "' " + "in rank profile '" + rp.getName() + "' " + "has a reserved name. This might mean that the function shadows " + "the built-in function with the same name." diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SearchMustHaveDocument.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SearchMustHaveDocument.java index 403de1253b4..2d8eaff7762 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SearchMustHaveDocument.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SearchMustHaveDocument.java @@ -19,7 +19,7 @@ public class SearchMustHaveDocument extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; if (search.getDocument() == null) diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SetLanguage.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SetLanguage.java index a0c884d25f9..8a4795c4dd2 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SetLanguage.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SetLanguage.java @@ -24,7 +24,8 @@ public class SetLanguage extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { + if ( ! validate) return; List textFieldsWithoutLanguage = new ArrayList<>(); for (SDField field : search.allConcreteFields()) { diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SetRankTypeEmptyOnFilters.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SetRankTypeEmptyOnFilters.java index a19ea8d7068..715828f808a 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SetRankTypeEmptyOnFilters.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SetRankTypeEmptyOnFilters.java @@ -20,7 +20,7 @@ public class SetRankTypeEmptyOnFilters extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { for (SDField field : search.allConcreteFields()) { if (field.getRanking().isFilter()) { field.setRankType(RankType.EMPTY); diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SortingSettings.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SortingSettings.java index 6426c724a07..defcf761649 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SortingSettings.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SortingSettings.java @@ -21,7 +21,7 @@ public class SortingSettings extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; for (SDField field : search.allConcreteFields()) { diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/StringSettingsOnNonStringFields.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/StringSettingsOnNonStringFields.java index d56b0272f06..e133f88f45c 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/StringSettingsOnNonStringFields.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/StringSettingsOnNonStringFields.java @@ -16,7 +16,7 @@ public class StringSettingsOnNonStringFields extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; for (SDField field : search.allConcreteFields()) { diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryConsistency.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryConsistency.java index a952d3732b3..d2c4968ca26 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryConsistency.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryConsistency.java @@ -26,7 +26,7 @@ public class SummaryConsistency extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { for (DocumentSummary summary : search.getSummaries().values()) { if (summary.getName().equals("default")) continue; diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryDynamicStructsArrays.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryDynamicStructsArrays.java index 647a433f201..b8d170c07f6 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryDynamicStructsArrays.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryDynamicStructsArrays.java @@ -26,7 +26,7 @@ public class SummaryDynamicStructsArrays extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; for (SDField field : search.allConcreteFields()) { diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryFieldsMustHaveValidSource.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryFieldsMustHaveValidSource.java index 7bcbd9a267c..9b51c7c473e 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryFieldsMustHaveValidSource.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryFieldsMustHaveValidSource.java @@ -22,7 +22,7 @@ public class SummaryFieldsMustHaveValidSource extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; for (DocumentSummary summary : search.getSummaries().values()) { diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryNamesFieldCollisions.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryNamesFieldCollisions.java index 23569cf39ae..678d5324e38 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryNamesFieldCollisions.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryNamesFieldCollisions.java @@ -26,7 +26,7 @@ public class SummaryNamesFieldCollisions extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; Map> fieldToClassAndSource = new HashMap<>(); diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/TagType.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/TagType.java index 177fc7f2326..79b7a6067b9 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/TagType.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/TagType.java @@ -25,7 +25,7 @@ public class TagType extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { for (SDField field : search.allConcreteFields()) { if (field.getDataType() instanceof WeightedSetDataType && ((WeightedSetDataType)field.getDataType()).isTag()) implementTagType(field); diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/TensorFieldProcessor.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/TensorFieldProcessor.java index 08571168336..8e54d7c00d6 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/TensorFieldProcessor.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/TensorFieldProcessor.java @@ -22,7 +22,7 @@ public class TensorFieldProcessor extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; for (SDField field : search.allConcreteFields()) { diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/TextMatch.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/TextMatch.java index 645ed5121ea..74f30d6a730 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/TextMatch.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/TextMatch.java @@ -34,7 +34,7 @@ public class TextMatch extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { for (SDField field : search.allConcreteFields()) { if (field.getMatching().getType() != Matching.Type.TEXT) continue; diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/UriHack.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/UriHack.java index ac376982cfa..d81fdf70d20 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/UriHack.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/UriHack.java @@ -28,7 +28,7 @@ public class UriHack extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { for (SDField field : search.allConcreteFields()) { if (field.doesIndexing()) { DataType fieldType = field.getDataType(); diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/UrlFieldValidator.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/UrlFieldValidator.java index ed813b42fff..c6b83349691 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/UrlFieldValidator.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/UrlFieldValidator.java @@ -18,7 +18,7 @@ public class UrlFieldValidator extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; for (SDField field : search.allConcreteFields()) { diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ValidateFieldTypes.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ValidateFieldTypes.java index 54ad9f13f6f..21b7f1d2675 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ValidateFieldTypes.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ValidateFieldTypes.java @@ -28,7 +28,7 @@ public class ValidateFieldTypes extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; String searchName = search.getName(); diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ValidateFieldWithIndexSettingsCreatesIndex.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ValidateFieldWithIndexSettingsCreatesIndex.java index a0b204a25f2..408d60e1cff 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ValidateFieldWithIndexSettingsCreatesIndex.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ValidateFieldWithIndexSettingsCreatesIndex.java @@ -21,7 +21,7 @@ public class ValidateFieldWithIndexSettingsCreatesIndex extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { if ( ! validate) return; Matching defaultMatching = new Matching(); diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/WordMatch.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/WordMatch.java index 892bcdad12c..13fe3f24d69 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/WordMatch.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/WordMatch.java @@ -25,7 +25,7 @@ public class WordMatch extends Processor { super(search, deployLogger, rankProfileRegistry, queryProfiles); } - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { for (SDField field : search.allConcreteFields()) { if ( ! field.getMatching().getType().equals(Matching.Type.WORD)) continue; diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/multifieldresolver/RankProfileTypeSettingsProcessor.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/multifieldresolver/RankProfileTypeSettingsProcessor.java index cc1638347f6..ec4cbdfe58b 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/multifieldresolver/RankProfileTypeSettingsProcessor.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/multifieldresolver/RankProfileTypeSettingsProcessor.java @@ -22,7 +22,7 @@ import java.util.Map; import java.util.Optional; /** - * Class that processes a search instance and sets type settings on all rank profiles. + * This processes a search instance and sets type settings on all rank profiles. * * Currently, type settings are limited to the type of tensor attribute fields and tensor query features. * @@ -35,7 +35,9 @@ public class RankProfileTypeSettingsProcessor extends Processor { } @Override - public void process(boolean validate) { + public void process(boolean validate, boolean documentsOnly) { + if (documentsOnly) return; + processAttributeFields(); processImportedFields(); processQueryProfileTypes(); -- cgit v1.2.3