From ab060ea711c4c70d1108230fcacc183ab5edb702 Mon Sep 17 00:00:00 2001 From: Jon Bratseth Date: Mon, 20 Jan 2020 22:31:23 +0100 Subject: Add attribute types only to the profiles of the same search definition --- .../RankProfileTypeSettingsProcessor.java | 2 +- config-model/src/test/derived/tensor2/first.sd | 8 ++++++++ config-model/src/test/derived/tensor2/rank-profiles.cfg | 14 ++++++++++++++ config-model/src/test/derived/tensor2/second.sd | 7 +++++++ .../yahoo/searchdefinition/derived/ExportingTestCase.java | 12 ++++++++++++ 5 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 config-model/src/test/derived/tensor2/first.sd create mode 100644 config-model/src/test/derived/tensor2/rank-profiles.cfg create mode 100644 config-model/src/test/derived/tensor2/second.sd 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 58ef47b7ba9..441d1b5b8df 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 @@ -69,7 +69,7 @@ public class RankProfileTypeSettingsProcessor extends Processor { } private void addAttributeTypeToRankProfiles(String attributeName, String attributeType) { - for (RankProfile profile : rankProfileRegistry.all()) { + for (RankProfile profile : rankProfileRegistry.rankProfilesOf(search)) { profile.addAttributeType(attributeName, attributeType); } } diff --git a/config-model/src/test/derived/tensor2/first.sd b/config-model/src/test/derived/tensor2/first.sd new file mode 100644 index 00000000000..80554572503 --- /dev/null +++ b/config-model/src/test/derived/tensor2/first.sd @@ -0,0 +1,8 @@ +search first { + document first { + field first_field type tensor(first[10]) { + indexing: summary | attribute + } + } +} + diff --git a/config-model/src/test/derived/tensor2/rank-profiles.cfg b/config-model/src/test/derived/tensor2/rank-profiles.cfg new file mode 100644 index 00000000000..7e087832042 --- /dev/null +++ b/config-model/src/test/derived/tensor2/rank-profiles.cfg @@ -0,0 +1,14 @@ +rankprofile[].name "default" +rankprofile[].fef.property[].name "vespa.type.attribute.second_field" +rankprofile[].fef.property[].value "tensor(second[10])" +rankprofile[].name "unranked" +rankprofile[].fef.property[].name "vespa.rank.firstphase" +rankprofile[].fef.property[].value "value(0)" +rankprofile[].fef.property[].name "vespa.hitcollector.heapsize" +rankprofile[].fef.property[].value "0" +rankprofile[].fef.property[].name "vespa.hitcollector.arraysize" +rankprofile[].fef.property[].value "0" +rankprofile[].fef.property[].name "vespa.dump.ignoredefaultfeatures" +rankprofile[].fef.property[].value "true" +rankprofile[].fef.property[].name "vespa.type.attribute.second_field" +rankprofile[].fef.property[].value "tensor(second[10])" diff --git a/config-model/src/test/derived/tensor2/second.sd b/config-model/src/test/derived/tensor2/second.sd new file mode 100644 index 00000000000..ace0540c8bd --- /dev/null +++ b/config-model/src/test/derived/tensor2/second.sd @@ -0,0 +1,7 @@ +search second { + document second { + field second_field type tensor(second[10]) { + indexing: summary | attribute + } + } +} diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/derived/ExportingTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/derived/ExportingTestCase.java index ebd2c752d5e..61065cd4bcc 100644 --- a/config-model/src/test/java/com/yahoo/searchdefinition/derived/ExportingTestCase.java +++ b/config-model/src/test/java/com/yahoo/searchdefinition/derived/ExportingTestCase.java @@ -1,6 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchdefinition.derived; +import com.yahoo.searchdefinition.SearchBuilder; import com.yahoo.searchdefinition.parser.ParseException; import org.junit.Test; @@ -138,4 +139,15 @@ public class ExportingTestCase extends AbstractExportingTestCase { assertCorrectDeriving("tensor"); } + @Test + public void testTensor2() throws IOException, ParseException { + String dir = "src/test/derived/tensor2/"; + SearchBuilder builder = new SearchBuilder(); + builder.importFile(dir + "first.sd"); + builder.importFile(dir + "second.sd"); + builder.build(); + derive("tensor2", builder, builder.getSearch("second")); + assertCorrectConfigFiles("tensor2"); + } + } -- cgit v1.2.3