summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahoo-inc.com>2017-03-23 15:02:19 +0100
committerBjørn Christian Seime <bjorncs@yahoo-inc.com>2017-03-27 11:17:05 +0200
commit9bec901bd604fcaa8f0443cf9e89448ed6facdbe (patch)
treeca12ae85a56cb7d8017d106a4edae4e4afec6d78 /config-model
parent68ae183a62a67df17fafc0e98a1bfbc3cacbaeba (diff)
Improve name of methods exposing fields in Search
Introduce new concept called 'concrete' fields which consists of all document and extra fields. Change concept of 'all' fields to also include 'imported' fields in addition to 'concrete' fields.
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/DefaultRankProfile.java4
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/DocumentModelBuilder.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/ImmutableSearch.java4
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/Search.java32
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/derived/IndexInfo.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/derived/VsmSummary.java4
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/document/ImmutableSDField.java4
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/AddExtraFieldsToDocument.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/AttributeProperties.java4
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/AttributesImplicitWord.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/Bolding.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/CreatePositionZCurve.java4
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/DeprecateAttributePrefetch.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/DisallowComplexMapAndWsetKeyTypes.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/ExactMatch.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/FieldSetValidity.java8
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/FilterFieldNames.java4
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/ImplicitSummaries.java4
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/ImportedFieldsResolver.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexFieldNames.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexSettingsNonFieldNames.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexTo2FieldSet.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingInputs.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingOutputs.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexingValidation.java4
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/IntegerIndex2Attribute.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/LiteralBoost.java6
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/MakeAliases.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/MatchConsistency.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/MultifieldIndexHarmonizer.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/NGramMatch.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/OptimizeIlscript.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/PredicateProcessor.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/Processor.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/ReferenceFieldsProcessor.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/SetLanguage.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/SetRankTypeEmptyOnFilters.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/SortingSettings.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/StringSettingsOnNonStringFields.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryDynamicStructsArrays.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryFieldsMustHaveValidSource.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/TagType.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/TensorFieldProcessor.java3
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/TextMatch.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/TypedTransformProvider.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/UriHack.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/UrlFieldValidator.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/ValidateFieldTypes.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/ValidateFieldWithIndexSettingsCreatesIndex.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/WordMatch.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/multifieldresolver/RankProfileTypeSettingsProcessor.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/NoPrefixForIndexes.java4
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/StreamingValidator.java6
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/search/IndexingScriptChangeValidator.java4
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/CommentTestCase.java2
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/PredicateDataTypeTestCase.java6
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/SearchImporterTestCase.java12
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/StemmingSettingTestCase.java8
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/AttributeIndexTestCase.java10
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/AttributesExactMatchTestCase.java24
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/ImportedFieldsResolverTestCase.java4
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/IntegerIndex2AttributeTestCase.java20
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/NGramTestCase.java6
63 files changed, 138 insertions, 129 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/DefaultRankProfile.java b/config-model/src/main/java/com/yahoo/searchdefinition/DefaultRankProfile.java
index dae3fc4e80a..16ad0f43603 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/DefaultRankProfile.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/DefaultRankProfile.java
@@ -45,7 +45,7 @@ public class DefaultRankProfile extends RankProfile {
RankSetting setting=super.getRankSetting(fieldOrIndex,type);
if (setting!=null) return setting;
- SDField field=getSearch().getField(fieldOrIndex);
+ SDField field=getSearch().getConcreteField(fieldOrIndex);
if (field!=null) {
setting=toRankSetting(field,type);
if (setting!=null)
@@ -94,7 +94,7 @@ public class DefaultRankProfile extends RankProfile {
public Set<RankSetting> rankSettings() {
Set<RankSetting> settings=new LinkedHashSet<>(20);
settings.addAll(this.rankSettings);
- for (SDField field : getSearch().allFieldsList() ) {
+ for (SDField field : getSearch().allConcreteFields() ) {
addSetting(field,RankSetting.Type.WEIGHT,settings);
addSetting(field,RankSetting.Type.RANKTYPE,settings);
addSetting(field,RankSetting.Type.LITERALBOOST,settings);
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/DocumentModelBuilder.java b/config-model/src/main/java/com/yahoo/searchdefinition/DocumentModelBuilder.java
index e513436ca66..42ad77376c5 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/DocumentModelBuilder.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/DocumentModelBuilder.java
@@ -133,7 +133,7 @@ public class DocumentModelBuilder {
for (Field f : search.getDocument().fieldSet()) {
addSearchField((SDField) f, searchDef);
}
- for(SDField field : search.allFieldsList()) {
+ for(SDField field : search.allConcreteFields()) {
for(Attribute attribute : field.getAttributes().values()) {
if (!searchDef.getFields().containsKey(attribute.getName())) {
searchDef.add(new SearchField(new Field(attribute.getName(), field), !field.getIndices().isEmpty(), true));
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/ImmutableSearch.java b/config-model/src/main/java/com/yahoo/searchdefinition/ImmutableSearch.java
index 80464faf764..97bf510c1a5 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/ImmutableSearch.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/ImmutableSearch.java
@@ -15,5 +15,7 @@ public interface ImmutableSearch {
Stream<ImmutableSDField> allImportedFields();
- ImmutableSDField getImmutableField(String name);
+ ImmutableSDField getField(String name);
+
+ Stream<ImmutableSDField> allFields();
}
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/Search.java b/config-model/src/main/java/com/yahoo/searchdefinition/Search.java
index 2570530ebf4..2dfcb3c8dde 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/Search.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/Search.java
@@ -197,8 +197,7 @@ public class Search implements Serializable, ImmutableSearch {
}
@Override
- // TODO Rename field concepts to make a distinction between concrete fields and imported fields
- public ImmutableSDField getImmutableField(String name) {
+ public ImmutableSDField getField(String name) {
ImmutableSDField field = getExtraField(name);
if (field != null) {
return field;
@@ -207,12 +206,21 @@ public class Search implements Serializable, ImmutableSearch {
if (field != null) {
return field;
}
- return importedFields
- .map(imf -> imf.fields().get(name))
- .map(ImmutableImportedSDField::new)
+ return allImportedFields()
+ .filter(f -> f.getName().equals(name))
+ .findFirst()
.orElse(null);
}
+ @Override
+ public Stream<ImmutableSDField> allFields() {
+ Stream<ImmutableSDField> extraFields = extraFieldList().stream().map(ImmutableSDField.class::cast);
+ Stream<ImmutableSDField> documentFields = docType.fieldSet().stream().map(ImmutableSDField.class::cast);
+ return Stream.concat(
+ extraFields,
+ Stream.concat(documentFields, allImportedFields()));
+ }
+
/**
* Gets a document from this search definition
*
@@ -247,7 +255,7 @@ public class Search implements Serializable, ImmutableSearch {
*
* @return the list of fields in this searchdefinition
*/
- public List<SDField> allFieldsList() {
+ public List<SDField> allConcreteFields() {
List<SDField> allFields = new ArrayList<>();
allFields.addAll(extraFieldList());
for (Field field : docType.fieldSet()) {
@@ -270,7 +278,7 @@ public class Search implements Serializable, ImmutableSearch {
* @param name of the field
* @return the SDField representing the field
*/
- public SDField getField(String name) {
+ public SDField getConcreteField(String name) {
SDField field = getExtraField(name);
if (field != null) {
return field;
@@ -355,7 +363,7 @@ public class Search implements Serializable, ImmutableSearch {
sameIndices.add(searchIndex);
}
- for (SDField field : allFieldsList()) {
+ for (SDField field : allConcreteFields()) {
Index index = field.getIndex(name);
if (index != null) {
sameIndices.add(index);
@@ -374,7 +382,7 @@ public class Search implements Serializable, ImmutableSearch {
if (indices.get(name) != null) {
return true;
}
- for (SDField field : allFieldsList()) {
+ for (SDField field : allConcreteFields()) {
if (field.existsIndex(name)) {
return true;
}
@@ -424,7 +432,7 @@ public class Search implements Serializable, ImmutableSearch {
*/
public List<Index> getExplicitIndices() {
List<Index> allIndices = new ArrayList<>(indices.values());
- for (SDField field : allFieldsList()) {
+ for (SDField field : allConcreteFields()) {
for (Index index : field.getIndices().values()) {
allIndices.add(index);
}
@@ -545,7 +553,7 @@ public class Search implements Serializable, ImmutableSearch {
* @return The Attribute with given name.
*/
public Attribute getAttribute(String name) {
- for (SDField field : allFieldsList()) {
+ for (SDField field : allConcreteFields()) {
Attribute attribute = field.getAttributes().get(name);
if (attribute != null) {
return attribute;
@@ -583,7 +591,7 @@ public class Search implements Serializable, ImmutableSearch {
}
private boolean isAccessingDiskSummary(String source) {
- SDField field = getField(source);
+ SDField field = getConcreteField(source);
if (field == null) {
return false;
}
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/derived/IndexInfo.java b/config-model/src/main/java/com/yahoo/searchdefinition/derived/IndexInfo.java
index 8aa9aea17db..b4791ecdff2 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/derived/IndexInfo.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/derived/IndexInfo.java
@@ -55,7 +55,7 @@ public class IndexInfo extends Derived implements IndexInfoConfig.Producer {
// Populate fieldsets with actual field objects, bit late to do that here but
for (FieldSet fs : fieldSets.values()) {
for (String fieldName : fs.getFieldNames()) {
- fs.fields().add(search.getImmutableField(fieldName));
+ fs.fields().add(search.getField(fieldName));
}
}
// Must follow, because index settings overrides field settings
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/derived/VsmSummary.java b/config-model/src/main/java/com/yahoo/searchdefinition/derived/VsmSummary.java
index 31fdd3c551d..00f0eeb60c6 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/derived/VsmSummary.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/derived/VsmSummary.java
@@ -35,7 +35,7 @@ public class VsmSummary extends Derived implements VsmsummaryConfig.Producer {
List<String> from = toStringList(summaryField.sourceIterator());
if (doMapField(search, summaryField)) {
- SDField sdField = search.getField(summaryField.getName());
+ SDField sdField = search.getConcreteField(summaryField.getName());
if (sdField != null && PositionDataType.INSTANCE.equals(sdField.getDataType())) {
summaryMap.put(summaryField, Collections.singletonList(summaryField.getName()));
} else {
@@ -52,7 +52,7 @@ public class VsmSummary extends Derived implements VsmsummaryConfig.Producer {
* @param summaryField a {@link SummaryField}
*/
private boolean doMapField(Search search, SummaryField summaryField) {
- SDField sdField = search.getField(summaryField.getName());
+ SDField sdField = search.getConcreteField(summaryField.getName());
SDDocumentType document = search.getDocument();
if (sdField==null || ((document != null) && (document.getField(summaryField.getName()) == sdField))) {
return true;
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/document/ImmutableSDField.java b/config-model/src/main/java/com/yahoo/searchdefinition/document/ImmutableSDField.java
index e85f48053e3..ea4671fabcc 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/document/ImmutableSDField.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/document/ImmutableSDField.java
@@ -33,6 +33,10 @@ public interface ImmutableSDField {
boolean isImportedField();
+ default boolean isConcreteField() {
+ return !isImportedField();
+ }
+
boolean isIndexStructureField();
boolean usesStructOrMap();
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 5d39c70e3b9..091bf662460 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
@@ -58,7 +58,7 @@ public class AddExtraFieldsToDocument extends Processor {
private void addSummaryField(Search search, SDDocumentType document, SummaryField field) {
Field docField = document.getField(field.getName());
if (docField == null) {
- SDField newField = search.getField(field.getName());
+ SDField newField = search.getConcreteField(field.getName());
if (newField == null) {
newField = new SDField(document, field.getName(), field.getDataType(), field.isHeader(), true);
newField.setIsExtraField(true);
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 c5fb2d1a014..93e7f793a25 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
@@ -21,7 +21,7 @@ public class AttributeProperties extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
String fieldName = field.getName();
// For each attribute, check if the attribute has been created
@@ -32,7 +32,7 @@ public class AttributeProperties extends Processor {
}
// Check other fields or statements that may have created this attribute.
boolean created = false;
- for (SDField f : search.allFieldsList()) {
+ for (SDField f : search.allConcreteFields()) {
// Checking against the field we are looking at
if (!f.getName().equals(fieldName)) {
if (attributeCreated(f, attribute.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 774160793cb..03b7e41140d 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
@@ -25,7 +25,7 @@ public class AttributesImplicitWord extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ 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 b922959598a..ed387f38e39 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
@@ -23,7 +23,7 @@ public class Bolding extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
for (SummaryField summary : field.getSummaryFields()) {
if (summary.getTransform().isBolded() &&
!((summary.getDataType() == DataType.STRING) || (summary.getDataType() == DataType.URI)))
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 e014adfb94f..bf901be5187 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
@@ -39,7 +39,7 @@ public class CreatePositionZCurve extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
DataType fieldType = field.getDataType();
if ( ! isSupportedPositionType(fieldType)) continue;
@@ -88,7 +88,7 @@ public class CreatePositionZCurve extends Processor {
}
private SDField createZCurveField(SDField inputField, String fieldName) {
- if (search.getField(fieldName) != null || search.getAttribute(fieldName) != null) {
+ if (search.getConcreteField(fieldName) != null || search.getAttribute(fieldName) != null) {
throw newProcessException(search, null, "Incompatible position attribute '" + fieldName +
"' already created.");
}
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 6d5b3ff8936..2fe32ef0b39 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
@@ -16,7 +16,7 @@ public class DeprecateAttributePrefetch extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
for (Attribute a : field.getAttributes().values()) {
if (Boolean.TRUE.equals(a.getPrefetchValue())) {
warn(search, field, "Attribute prefetch is deprecated. Use an explicitly defined document summary with all desired fields defined as attribute.");
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 dbe83143189..e246c7d2b67 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
@@ -26,7 +26,7 @@ public class DisallowComplexMapAndWsetKeyTypes extends Processor {
public void process() {
// TODO also traverse struct types to search for bad map or wset types there. Do this after document manager is fixed, do
// not start using the static stuff on SDDocumentTypes any more.
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
if (field.getDataType() instanceof WeightedSetDataType) {
DataType nestedType = ((WeightedSetDataType)field.getDataType()).getNestedType();
if (!(nestedType instanceof PrimitiveDataType)) {
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 fee09cc53cb..9d81c89efc4 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
@@ -27,7 +27,7 @@ public class ExactMatch extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ 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/FieldSetValidity.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/FieldSetValidity.java
index 14635b8919e..11b7bd86dbe 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
@@ -35,7 +35,7 @@ public class FieldSetValidity extends Processor {
private static void checkFieldNames(Search search, FieldSet fieldSet) {
for (String fld : fieldSet.getFieldNames()) {
- ImmutableSDField field = search.getImmutableField(fld);
+ ImmutableSDField field = search.getField(fld);
if (field == null) {
throw new IllegalArgumentException(
"For search '" + search.getName() + "': Field '"+ fld + "' in " + fieldSet + " does not exist.");
@@ -46,7 +46,7 @@ public class FieldSetValidity extends Processor {
private void checkMatching(Search search, FieldSet fieldSet) {
Matching fsMatching = null;
for (String fld : fieldSet.getFieldNames()) {
- ImmutableSDField field = search.getImmutableField(fld);
+ ImmutableSDField field = search.getField(fld);
Matching fieldMatching = field.getMatching();
if (fsMatching==null) {
fsMatching = fieldMatching;
@@ -64,7 +64,7 @@ public class FieldSetValidity extends Processor {
private void checkNormalization(Search search, FieldSet fieldSet) {
NormalizeLevel.Level fsNorm = null;
for (String fld : fieldSet.getFieldNames()) {
- ImmutableSDField field = search.getImmutableField(fld);
+ ImmutableSDField field = search.getField(fld);
NormalizeLevel.Level fieldNorm = field.getNormalizing().getLevel();
if (fsNorm==null) {
fsNorm = fieldNorm;
@@ -82,7 +82,7 @@ public class FieldSetValidity extends Processor {
private void checkStemming(Search search, FieldSet fieldSet) {
Stemming fsStemming = null;
for (String fld : fieldSet.getFieldNames()) {
- ImmutableSDField field = search.getImmutableField(fld);
+ ImmutableSDField field = search.getField(fld);
Stemming fieldStemming = field.getStemming();
if (fsStemming==null) {
fsStemming = fieldStemming;
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 1df8c642750..fc035613295 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
@@ -27,7 +27,7 @@ public class FilterFieldNames extends Processor {
@Override
public void process() {
- for (SDField f : search.allFieldsList()) {
+ for (SDField f : search.allConcreteFields()) {
if (f.getRanking().isFilter()) {
filterField(f.getName());
}
@@ -56,7 +56,7 @@ public class FilterFieldNames extends Processor {
((Boolean)setting.getValue()).booleanValue())
{
String fieldName = setting.getFieldName();
- if (search.getField(fieldName) != null) {
+ if (search.getConcreteField(fieldName) != null) {
if (!profile.filterFields().contains(fieldName)) {
filterFields.add(fieldName);
}
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 45a1d18b928..5cf8078a962 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
@@ -33,7 +33,7 @@ public class ImplicitSummaries extends Processor {
search.addSummary(defaultSummary);
}
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
collectSummaries(field,search);
}
@@ -156,7 +156,7 @@ public class ImplicitSummaries extends Processor {
}
String fieldName = summaryField.getSourceField();
- SDField sourceField = search.getField(fieldName);
+ SDField sourceField = search.getConcreteField(fieldName);
if (sourceField == null) {
throw newProcessException(search, summaryField, "Source field '" + fieldName + "' does not exist.");
}
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 3d413d6d06e..4d55f08d2b1 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
@@ -59,7 +59,7 @@ public class ImportedFieldsResolver extends Processor {
if (isImportedField(targetSearch, targetFieldName)) {
fail(importedField, targetFieldAsString(targetFieldName, reference) + ": Is an imported field. Not supported");
}
- SDField targetField = targetSearch.getField(targetFieldName);
+ SDField targetField = targetSearch.getConcreteField(targetFieldName);
if (targetField == null) {
fail(importedField, targetFieldAsString(targetFieldName, reference) + ": Not found");
} else if (!targetField.doesAttributing()) {
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 2c18c58d3dc..5afd034c9a5 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
@@ -24,7 +24,7 @@ public class IndexFieldNames extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
if (!field.getName().matches(FIELD_NAME_REGEXP) && !legalDottedPositionField(field)) {
fail(search, field, " Not a legal field name. Legal expression: " + FIELD_NAME_REGEXP);
}
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 fecc5e2309d..77012823372 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
@@ -25,7 +25,7 @@ public class IndexSettingsNonFieldNames extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
boolean fieldNameUsed = false;
for (Iterator i = field.getFieldNameAsIterator(); i.hasNext();) {
String iName = (String)(i.next());
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexTo2FieldSet.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexTo2FieldSet.java
index 46e9d471484..b4ee835388e 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexTo2FieldSet.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/IndexTo2FieldSet.java
@@ -18,7 +18,7 @@ public class IndexTo2FieldSet extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
processField(field);
}
}
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 c2e889f7993..def619b8716 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
@@ -28,7 +28,7 @@ public class IndexingInputs extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ 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 55e7dabf9ba..f8b268d59ae 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
@@ -30,7 +30,7 @@ public class IndexingOutputs extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ 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 a35be31298b..b9efbbd4d9c 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
@@ -27,7 +27,7 @@ public class IndexingValidation extends Processor {
@Override
public void process() {
VerificationContext context = new VerificationContext(new MyAdapter(search));
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
ScriptExpression script = field.getIndexingScript();
try {
script.verify(context);
@@ -106,7 +106,7 @@ public class IndexingValidation extends Processor {
fieldDesc = "attribute";
fieldType = attribute.getDataType();
} else if (exp instanceof IndexExpression) {
- SDField field = search.getField(fieldName);
+ SDField field = search.getConcreteField(fieldName);
if (field == null) {
throw new VerificationException(exp, "Index field '" + fieldName + "' not found.");
}
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 24ef60b6bb3..edb0cc89060 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
@@ -31,7 +31,7 @@ public class IntegerIndex2Attribute extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
if (field.doesIndexing() && field.getDataType().getPrimitiveType() instanceof NumericDataType) {
// Avoid changing for example RISE fields
if (field.getIndex(field.getName()) != null && !(field.getIndex(field.getName()).getType().equals(Index.Type.VESPA))) continue;
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 3f75f6ffa47..0be5b4c35fd 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
@@ -39,7 +39,7 @@ public class LiteralBoost extends Processor {
/** Checks if literal boost is given using rank: , and set the actual literal boost accordingly. */
private void checkRankModifierRankType(Search search) {
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
if (field.getLiteralBoost() > -1) continue; // Let explicit value take precedence
if (field.getRanking().isLiteral())
field.setLiteralBoost(100);
@@ -55,7 +55,7 @@ public class LiteralBoost extends Processor {
Iterator i = matchingRankSettingsIterator(search, RankProfile.RankSetting.Type.LITERALBOOST);
while (i.hasNext()) {
RankProfile.RankSetting setting = (RankProfile.RankSetting)i.next();
- SDField field = search.getField(setting.getFieldName());
+ SDField field = search.getConcreteField(setting.getFieldName());
if (field == null) continue;
if (field.getLiteralBoost() < 0)
field.setLiteralBoost(0);
@@ -63,7 +63,7 @@ public class LiteralBoost extends Processor {
}
private void reduceFieldLiteralBoosts(Search search) {
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
if (field.getLiteralBoost()<0) continue;
reduceFieldLiteralBoost(field,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 856b0cf3348..4e5e3b60b21 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
@@ -27,7 +27,7 @@ public class MakeAliases extends Processor {
@Override
public void process() {
List<String> usedAliases = new ArrayList<>();
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
for (Map.Entry<String, String> e : field.getAliasToName().entrySet()) {
String alias = e.getKey();
String name = e.getValue();
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 f21670e6f78..328eca7a708 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
@@ -29,7 +29,7 @@ public class MatchConsistency extends Processor {
@Override
public void process() {
Map<String, Matching.Type> types = new HashMap<>();
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
new MyVisitor(search, field, types).visit(field.getIndexingScript());
}
}
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 61a11fd3a4e..0c0617a5cc5 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
@@ -37,7 +37,7 @@ public class MultifieldIndexHarmonizer extends Processor {
}
private void populateIndexToFields(Search search) {
- for (SDField field : search.allFieldsList() ) {
+ for (SDField field : search.allConcreteFields() ) {
if (!field.doesIndexing()) {
continue;
}
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 84a86d98b56..0ec2d4b9ec1 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
@@ -27,7 +27,7 @@ public class NGramMatch extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
if (field.getMatching().getType().equals(Matching.Type.GRAM))
implementGramMatch(search, field);
else if (field.getMatching().getGramSize()>=0)
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 078e9400ec5..b634c3380f2 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
@@ -19,7 +19,7 @@ public class OptimizeIlscript extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ 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 a156a98a584..267c20c7773 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
@@ -34,7 +34,7 @@ public class PredicateProcessor extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
if (field.getDataType() == DataType.PREDICATE) {
if (field.doesIndexing()) {
fail(search, field, "Use 'attribute' instead of 'index'. This will require a refeed if you have upgraded.");
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 9ddbf77082d..a6785a044a9 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
@@ -60,7 +60,7 @@ public abstract class Processor {
* @return the implementation field which is added to the search
*/
protected SDField addField(Search search, SDField field, String suffix, String indexing, String queryCommand) {
- SDField implementationField = search.getField(field.getName() + "_" + suffix);
+ SDField implementationField = search.getConcreteField(field.getName() + "_" + suffix);
if (implementationField != null) {
deployLogger.log(Level.WARNING, "Implementation field " + implementationField + " added twice");
} else {
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 61dfe6d9ff9..aa41acb620d 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() {
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
if (field.getDataType() instanceof ReferenceDataType) {
removeFromAttributePrefetchSummaryClass(field);
clearSummaryTransformOnSummaryFields(field);
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 764bb1602a7..4cb6c306713 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
@@ -27,7 +27,7 @@ public class SetLanguage extends Processor {
public void process() {
List<String> textFieldsWithoutLanguage = new ArrayList<>();
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
if (fieldMustComeAfterLanguageSettingField(field)) {
textFieldsWithoutLanguage.add(field.getName());
}
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 bca863dd033..cdda804276d 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
@@ -21,7 +21,7 @@ public class SetRankTypeEmptyOnFilters extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ 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 6e77f48b4a7..a184dd5b993 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
@@ -22,7 +22,7 @@ public class SortingSettings extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
for (Attribute attribute : field.getAttributes().values()) {
Sorting sorting = attribute.getSorting();
if (sorting.getFunction()!=Sorting.Function.UCA) {
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 48c9af5556a..2345c348c51 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
@@ -17,7 +17,7 @@ public class StringSettingsOnNonStringFields extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
if (!doCheck(field)) continue;
if (field.getMatching().isTypeUserSet()) {
warn(search, field, "Matching type "+field.getMatching().getType()+" is only allowed for string fields.");
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 f97d5345cab..45b50c808f9 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
@@ -27,7 +27,7 @@ public class SummaryDynamicStructsArrays extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
DataType type = field.getDataType();
if (type instanceof ArrayDataType || type instanceof WeightedSetDataType
|| type instanceof StructDataType) {
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 06207f5ed6e..0dacb3064ec 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
@@ -64,7 +64,7 @@ public class SummaryFieldsMustHaveValidSource extends Processor {
return summary.getSummaryField(name) != null;
}
private boolean isDocumentField(String name) {
- return search.getField(name) != null;
+ return search.getConcreteField(name) != null;
}
private boolean isSummaryField(String name) {
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 a5de99c7406..222ab3b1db0 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
@@ -23,7 +23,7 @@ public class TagType extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ 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 36cf302477e..ed453605856 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
@@ -3,7 +3,6 @@ package com.yahoo.searchdefinition.processing;
import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.document.CollectionDataType;
-import com.yahoo.document.DataType;
import com.yahoo.document.TensorDataType;
import com.yahoo.searchdefinition.RankProfileRegistry;
import com.yahoo.searchdefinition.Search;
@@ -24,7 +23,7 @@ public class TensorFieldProcessor extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
if ( field.getDataType() instanceof TensorDataType ) {
warnUseOfTensorFieldAsAttribute(field);
validateIndexingScripsForTensorField(field);
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 21723639ece..53ef039011f 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
@@ -35,7 +35,7 @@ public class TextMatch extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ 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/TypedTransformProvider.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/TypedTransformProvider.java
index 0fa9cbfa05f..1e6ae027f41 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/TypedTransformProvider.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/TypedTransformProvider.java
@@ -32,7 +32,7 @@ public abstract class TypedTransformProvider extends ValueTransformProvider {
}
fieldType = attribute.getDataType();
} else if (exp instanceof IndexExpression) {
- Field field = search.getField(fieldName);
+ Field field = search.getConcreteField(fieldName);
if (field == null) {
throw new IllegalArgumentException("Index field '" + fieldName + "' not found.");
}
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 b7c98bec964..0ebc7613c99 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
@@ -24,7 +24,7 @@ public class UriHack extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
if (field.doesIndexing()) {
DataType fieldType = field.getDataType();
if (fieldType instanceof CollectionDataType) {
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 b01a82b0131..293c9d39f3b 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
@@ -19,7 +19,7 @@ public class UrlFieldValidator extends Processor {
@Override
public void process() {
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
if ( ! field.getDataType().equals(DataType.URI)) continue;
if (field.doesAttributing())
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 9ee5f48a906..63610fd623c 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
@@ -32,7 +32,7 @@ public class ValidateFieldTypes extends Processor {
public void process() {
String searchName = search.getName();
Map<String, DataType> seenFields = new HashMap<>();
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
checkFieldType(searchName, "index field", field.getName(), field.getDataType(), seenFields);
for (Map.Entry<String, Attribute> entry : field.getAttributes().entrySet()) {
checkFieldType(searchName, "attribute", entry.getKey(), entry.getValue().getDataType(), seenFields);
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 68ba7536c6b..7498afce0f2 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
@@ -24,7 +24,7 @@ public class ValidateFieldWithIndexSettingsCreatesIndex extends Processor {
public void process() {
Matching defaultMatching = new Matching();
Ranking defaultRanking = new Ranking();
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
if (field.doesIndexing()) {
continue;
}
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 98775051ccd..a8b29ed23b2 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
@@ -26,7 +26,7 @@ public class WordMatch extends Processor {
}
public void process() {
- for (SDField field : search.allFieldsList()) {
+ 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 6803b6f3382..2b581be3a84 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
@@ -41,7 +41,7 @@ public class RankProfileTypeSettingsProcessor extends Processor {
}
private void processAttributeFields() {
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
Attribute attribute = field.getAttributes().get(field.getName());
if (attribute != null && attribute.tensorType().isPresent()) {
addAttributeTypeToRankProfiles(attribute.getName(), attribute.tensorType().get().toString());
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/NoPrefixForIndexes.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/NoPrefixForIndexes.java
index d9aa600a840..f93aee4c137 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/NoPrefixForIndexes.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/NoPrefixForIndexes.java
@@ -29,7 +29,7 @@ public class NoPrefixForIndexes extends Validator {
for (DocumentDatabase docDb : sc.getDocumentDbs()) {
DerivedConfiguration sdConfig = docDb.getDerivedConfiguration();
Search search = sdConfig.getSearch();
- for (SDField field : search.allFieldsList()) {
+ for (SDField field : search.allConcreteFields()) {
if (field.doesIndexing()) {
//if (!field.getIndexTo().isEmpty() && !field.getIndexTo().contains(field.getName())) continue;
if (field.getMatching().getAlgorithm().equals(Matching.Algorithm.PREFIX)) {
@@ -51,4 +51,4 @@ public class NoPrefixForIndexes extends Validator {
throw new IllegalArgumentException("For search '" + search.getName() + "', field '" + field.getName() +
"': match/index:prefix is not supported for indexes.");
}
-} \ No newline at end of file
+}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/StreamingValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/StreamingValidator.java
index 9d6d10f2861..be038840b92 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/StreamingValidator.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/StreamingValidator.java
@@ -34,7 +34,7 @@ public class StreamingValidator extends Validator {
private void warnStreamingGramMatching(SearchCluster sc, DeployLogger logger) {
if (sc.getSdConfig() != null) {
- for (SDField sd : sc.getSdConfig().getSearch().allFieldsList()) {
+ for (SDField sd : sc.getSdConfig().getSearch().allConcreteFields()) {
if (sd.getMatching().getType().equals(Matching.Type.GRAM)) {
logger.log(Level.WARNING, "For streaming search cluster '" + sc.getClusterName() +
"', SD field '" + sd.getName() + "': n-gram matching is not supported for streaming search.");
@@ -51,7 +51,7 @@ public class StreamingValidator extends Validator {
*/
private void warnStreamingAttributes(SearchCluster sc, DeployLogger logger) {
if (sc.getSdConfig() != null) {
- for (SDField sd : sc.getSdConfig().getSearch().allFieldsList()) {
+ for (SDField sd : sc.getSdConfig().getSearch().allConcreteFields()) {
if (sd.doesAttributing()) {
warnStreamingAttribute(sc, sd, logger);
}
@@ -66,4 +66,4 @@ public class StreamingValidator extends Validator {
logger.log(Level.WARNING, "For streaming search cluster '" + sc.getClusterName() +
"', SD field '" + sd.getName() + "': 'attribute' has same match semantics as 'index'.");
}
-} \ No newline at end of file
+}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/search/IndexingScriptChangeValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/search/IndexingScriptChangeValidator.java
index 1430582d062..11418833a6c 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/search/IndexingScriptChangeValidator.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/search/IndexingScriptChangeValidator.java
@@ -33,9 +33,9 @@ public class IndexingScriptChangeValidator {
public List<VespaConfigChangeAction> validate(ValidationOverrides overrides) {
List<VespaConfigChangeAction> result = new ArrayList<>();
- for (SDField nextField : nextSearch.allFieldsList()) {
+ for (SDField nextField : nextSearch.allConcreteFields()) {
String fieldName = nextField.getName();
- SDField currentField = currentSearch.getField(fieldName);
+ SDField currentField = currentSearch.getConcreteField(fieldName);
if (currentField != null) {
validateScripts(currentField, nextField, overrides).ifPresent(r -> result.add(r));
}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/CommentTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/CommentTestCase.java
index 64f96930859..b9bf7cf1678 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/CommentTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/CommentTestCase.java
@@ -18,7 +18,7 @@ public class CommentTestCase extends SearchDefinitionTestCase {
@Test
public void testComments() throws IOException, ParseException {
Search search = SearchBuilder.buildFromFile("src/test/examples/comment.sd");
- SDField field = search.getField("a");
+ SDField field = search.getConcreteField("a");
assertEquals("{ input a | tokenize normalize stem:\"SHORTEST\" | summary a | index a; }",
field.getIndexingScript().toString());
}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/PredicateDataTypeTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/PredicateDataTypeTestCase.java
index 09b6a8e7b8b..d7b85abad1b 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/PredicateDataTypeTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/PredicateDataTypeTestCase.java
@@ -66,7 +66,7 @@ public class PredicateDataTypeTestCase {
upperBoundParameter(upperBound))));
SearchBuilder sb = SearchBuilder.createFromString(sd);
- for (SDField field : sb.getSearch().allFieldsList()) {
+ for (SDField field : sb.getSearch().allConcreteFields()) {
if (field.getDataType() == DataType.PREDICATE) {
for (Index index : field.getIndices().values()) {
assertEquals(true, index.getBooleanIndexDefiniton().hasArity());
@@ -93,7 +93,7 @@ public class PredicateDataTypeTestCase {
upperBoundParameter(upperBound))));
SearchBuilder sb = SearchBuilder.createFromString(sd);
- for (SDField field : sb.getSearch().allFieldsList()) {
+ for (SDField field : sb.getSearch().allConcreteFields()) {
if (field.getDataType() == DataType.PREDICATE) {
for (Index index : field.getIndices().values()) {
assertEquals(arity, index.getBooleanIndexDefiniton().getArity());
@@ -111,7 +111,7 @@ public class PredicateDataTypeTestCase {
attributeFieldSd(
arityParameter(2))));
SearchBuilder sb = SearchBuilder.createFromString(sd);
- for (SDField field : sb.getSearch().allFieldsList()) {
+ for (SDField field : sb.getSearch().allConcreteFields()) {
if (field.getDataType() == DataType.PREDICATE) {
for (Index index : field.getIndices().values()) {
assertEquals(true, index.getBooleanIndexDefiniton().hasArity());
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/SearchImporterTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/SearchImporterTestCase.java
index bb9680665c8..d6a8999b774 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/SearchImporterTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/SearchImporterTestCase.java
@@ -95,24 +95,24 @@ public class SearchImporterTestCase extends SearchDefinitionTestCase {
assertEquals(1, field.getAttributes().size());
// Seventh field
- field= search.getField("categories");
+ field= search.getConcreteField("categories");
assertEquals("{ input categories_src | lowercase | normalize | index; }",
field.getIndexingScript().toString());
assertTrue(!field.isHeader());
// Eight field
- field= search.getField("categoriesagain");
+ field= search.getConcreteField("categoriesagain");
assertEquals("{ input categoriesagain_src | lowercase | normalize | index; }",
field.getIndexingScript().toString());
assertTrue(field.isHeader());
// Ninth field
- field= search.getField("exactemento");
+ field= search.getConcreteField("exactemento");
assertEquals("{ input exactemento_src | lowercase | index | summary; }",
field.getIndexingScript().toString());
// Tenth field
- field = search.getField("category_arr");
+ field = search.getConcreteField("category_arr");
assertEquals(1, field.getAttributes().size());
attribute = field.getAttributes().get("category_arr");
assertNotNull(attribute);
@@ -122,7 +122,7 @@ public class SearchImporterTestCase extends SearchDefinitionTestCase {
assertTrue(field.isHeader());
// Eleventh field
- field = search.getField("measurement_arr");
+ field = search.getConcreteField("measurement_arr");
assertEquals(1, field.getAttributes().size());
attribute = field.getAttributes().get("measurement_arr");
assertEquals("measurement_arr", attribute.getName());
@@ -148,7 +148,7 @@ public class SearchImporterTestCase extends SearchDefinitionTestCase {
assertEquals("experimental",profile.getInheritedName());
// The extra-document field
- SDField exact=search.getField("exact");
+ SDField exact=search.getConcreteField("exact");
assertNotNull("Extra field was parsed",exact);
assertEquals("exact",exact.getName());
assertEquals(Stemming.NONE,exact.getStemming());
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/StemmingSettingTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/StemmingSettingTestCase.java
index 6a0dd6e2c1b..0192ca06a7b 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/StemmingSettingTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/StemmingSettingTestCase.java
@@ -1,16 +1,12 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.searchdefinition;
-import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.searchdefinition.document.SDField;
import com.yahoo.searchdefinition.document.Stemming;
import com.yahoo.searchdefinition.parser.ParseException;
import org.junit.Test;
import java.io.IOException;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.logging.Level;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
@@ -48,8 +44,8 @@ public class StemmingSettingTestCase extends SearchDefinitionTestCase {
@Test
public void requireThatStemmingIsDefaultShortest() throws IOException, ParseException {
Search search = SearchBuilder.buildFromFile("src/test/examples/stemmingdefault.sd");
- assertNull(search.getField("my_str").getStemming());
- assertEquals(Stemming.SHORTEST, search.getField("my_str").getStemming(search));
+ assertNull(search.getConcreteField("my_str").getStemming());
+ assertEquals(Stemming.SHORTEST, search.getConcreteField("my_str").getStemming(search));
}
}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/AttributeIndexTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/AttributeIndexTestCase.java
index 9c6ff281c7a..58d9edbd6c8 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/AttributeIndexTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/AttributeIndexTestCase.java
@@ -21,14 +21,14 @@ public class AttributeIndexTestCase extends SearchDefinitionTestCase {
public void testAttributeIndex() throws IOException, ParseException {
Search search = UnprocessingSearchBuilder.buildUnprocessedFromFile("src/test/examples/attributeindex.sd");
- assertTrue(search.getField("nosettings").getAttributes().get("nosettings") != null);
+ assertTrue(search.getConcreteField("nosettings").getAttributes().get("nosettings") != null);
- assertTrue(search.getField("specifyname").getAttributes().get("newname") != null);
+ assertTrue(search.getConcreteField("specifyname").getAttributes().get("newname") != null);
- assertTrue(search.getField("specifyname2").getAttributes().get("newname2") != null);
+ assertTrue(search.getConcreteField("specifyname2").getAttributes().get("newname2") != null);
- assertTrue(search.getField("withstaticrankname").getAttributes().get("withstaticrankname") != null);
+ assertTrue(search.getConcreteField("withstaticrankname").getAttributes().get("withstaticrankname") != null);
- assertTrue(search.getField("withstaticrankname").getAttributes().get("someothername") != null);
+ assertTrue(search.getConcreteField("withstaticrankname").getAttributes().get("someothername") != null);
}
}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/AttributesExactMatchTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/AttributesExactMatchTestCase.java
index 2081ac6accc..fd06e33a86e 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/AttributesExactMatchTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/AttributesExactMatchTestCase.java
@@ -21,19 +21,19 @@ public class AttributesExactMatchTestCase extends SearchDefinitionTestCase {
@Test
public void testAttributesExactMatch() throws IOException, ParseException {
Search search = SearchBuilder.buildFromFile("src/test/examples/attributesexactmatch.sd");
- assertEquals(search.getField("color").getMatching().getType(), Matching.Type.EXACT);
- assertEquals(search.getField("artist").getMatching().getType(), Matching.Type.WORD);
- assertEquals(search.getField("drummer").getMatching().getType(), Matching.Type.WORD);
- assertEquals(search.getField("guitarist").getMatching().getType(), Matching.Type.TEXT);
- assertEquals(search.getField("saxophonist_arr").getMatching().getType(), Matching.Type.WORD);
- assertEquals(search.getField("flutist").getMatching().getType(), Matching.Type.TEXT);
+ assertEquals(search.getConcreteField("color").getMatching().getType(), Matching.Type.EXACT);
+ assertEquals(search.getConcreteField("artist").getMatching().getType(), Matching.Type.WORD);
+ assertEquals(search.getConcreteField("drummer").getMatching().getType(), Matching.Type.WORD);
+ assertEquals(search.getConcreteField("guitarist").getMatching().getType(), Matching.Type.TEXT);
+ assertEquals(search.getConcreteField("saxophonist_arr").getMatching().getType(), Matching.Type.WORD);
+ assertEquals(search.getConcreteField("flutist").getMatching().getType(), Matching.Type.TEXT);
- assertFalse(search.getField("genre").getMatching().getType().equals(Matching.Type.EXACT));
- assertFalse(search.getField("title").getMatching().getType().equals(Matching.Type.EXACT));
- assertFalse(search.getField("trumpetist").getMatching().getType().equals(Matching.Type.EXACT));
- assertFalse(search.getField("genre").getMatching().getType().equals(Matching.Type.WORD));
- assertFalse(search.getField("title").getMatching().getType().equals(Matching.Type.WORD));
- assertFalse(search.getField("trumpetist").getMatching().getType().equals(Matching.Type.WORD));
+ assertFalse(search.getConcreteField("genre").getMatching().getType().equals(Matching.Type.EXACT));
+ assertFalse(search.getConcreteField("title").getMatching().getType().equals(Matching.Type.EXACT));
+ assertFalse(search.getConcreteField("trumpetist").getMatching().getType().equals(Matching.Type.EXACT));
+ assertFalse(search.getConcreteField("genre").getMatching().getType().equals(Matching.Type.WORD));
+ assertFalse(search.getConcreteField("title").getMatching().getType().equals(Matching.Type.WORD));
+ assertFalse(search.getConcreteField("trumpetist").getMatching().getType().equals(Matching.Type.WORD));
}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/ImportedFieldsResolverTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/ImportedFieldsResolverTestCase.java
index c9dd1c14a26..6152df6c0e3 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/ImportedFieldsResolverTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/ImportedFieldsResolverTestCase.java
@@ -45,9 +45,9 @@ public class ImportedFieldsResolverTestCase {
ImportedField myField = model.importedFields.fields().get("my_attribute_field");
assertNotNull(myField);
assertEquals("my_attribute_field", myField.fieldName());
- assertSame(model.childSearch.getField("ref"), myField.reference().referenceField());
+ assertSame(model.childSearch.getConcreteField("ref"), myField.reference().referenceField());
assertSame(model.parentSearch, myField.reference().targetSearch());
- assertSame(model.parentSearch.getField("attribute_field"), myField.targetField());
+ assertSame(model.parentSearch.getConcreteField("attribute_field"), myField.targetField());
}
@Test
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/IntegerIndex2AttributeTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/IntegerIndex2AttributeTestCase.java
index 36a325b42eb..74ed04cda2a 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/IntegerIndex2AttributeTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/IntegerIndex2AttributeTestCase.java
@@ -26,32 +26,32 @@ public class IntegerIndex2AttributeTestCase extends SearchDefinitionTestCase {
new IntegerIndex2Attribute(search, new BaseDeployLogger(), new RankProfileRegistry(), new QueryProfiles()).process();
SDField f;
- f = search.getField("s1");
+ f = search.getConcreteField("s1");
assertTrue(f.getAttributes().isEmpty());
assertTrue(f.existsIndex("s1"));
- f = search.getField("s2");
+ f = search.getConcreteField("s2");
assertEquals(f.getAttributes().size(), 1);
assertTrue(f.existsIndex("s2"));
- f = search.getField("as1");
+ f = search.getConcreteField("as1");
assertTrue(f.getAttributes().isEmpty());
assertTrue(f.existsIndex("as1"));
- f = search.getField("as2");
+ f = search.getConcreteField("as2");
assertEquals(f.getAttributes().size(), 1);
assertTrue(f.existsIndex("as2"));
- f = search.getField("i1");
+ f = search.getConcreteField("i1");
assertEquals(f.getAttributes().size(), 1);
assertTrue( ! f.existsIndex("i1"));
- f = search.getField("i2");
+ f = search.getConcreteField("i2");
assertEquals(f.getAttributes().size(), 1);
assertTrue( ! f.existsIndex("i2"));
- f = search.getField("ai1");
- assertEquals(search.getField("ai1").getAttributes().size(), 1);
- assertTrue( ! search.getField("ai1").existsIndex("ai1"));
- f = search.getField("ai2");
+ f = search.getConcreteField("ai1");
+ assertEquals(search.getConcreteField("ai1").getAttributes().size(), 1);
+ assertTrue( ! search.getConcreteField("ai1").existsIndex("ai1"));
+ f = search.getConcreteField("ai2");
assertEquals(f.getAttributes().size(), 1);
assertTrue( ! f.existsIndex("ai2"));
}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/NGramTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/NGramTestCase.java
index f6d40644145..20acf624aad 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/NGramTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/NGramTestCase.java
@@ -24,15 +24,15 @@ public class NGramTestCase extends SearchDefinitionTestCase {
Search search = SearchBuilder.buildFromFile("src/test/examples/ngram.sd");
assertNotNull(search);
- SDField gram1=search.getField("gram_1");
+ SDField gram1=search.getConcreteField("gram_1");
assertEquals(Matching.Type.GRAM,gram1.getMatching().getType());
assertEquals(1,gram1.getMatching().getGramSize());
- SDField gram2=search.getField("gram_2");
+ SDField gram2=search.getConcreteField("gram_2");
assertEquals(Matching.Type.GRAM,gram2.getMatching().getType());
assertEquals(-1,gram2.getMatching().getGramSize()); // Not set explicitly
- SDField gram3=search.getField("gram_3");
+ SDField gram3=search.getConcreteField("gram_3");
assertEquals(Matching.Type.GRAM,gram3.getMatching().getType());
assertEquals(3,gram3.getMatching().getGramSize());