summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2022-09-05 16:55:17 +0200
committerTor Egge <Tor.Egge@online.no>2022-09-05 16:55:17 +0200
commitd473cd4dd11cd46d79a0209efddbcd9d2b9572bd (patch)
treecc414431eb2a08efe1f6cca3dc38de8ec59f9ebb
parentfb510f54de2ea004f94c9d054db33363d664ef27 (diff)
Align with attribute combiner docsum field writer: Don't insert anything if field is empty or not set.
-rw-r--r--searchsummary/src/tests/docsummary/matched_elements_filter/matched_elements_filter_test.cpp12
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp3
2 files changed, 6 insertions, 9 deletions
diff --git a/searchsummary/src/tests/docsummary/matched_elements_filter/matched_elements_filter_test.cpp b/searchsummary/src/tests/docsummary/matched_elements_filter/matched_elements_filter_test.cpp
index 623b66bad18..4fcf8c10401 100644
--- a/searchsummary/src/tests/docsummary/matched_elements_filter/matched_elements_filter_test.cpp
+++ b/searchsummary/src/tests/docsummary/matched_elements_filter/matched_elements_filter_test.cpp
@@ -257,9 +257,9 @@ TEST_F(MatchedElementsFilterTest, filters_elements_in_array_field_value)
"{'name':'c','weight':7}]");
expect_filtered("array", {0, 1, 100}, "[]");
set_empty_values();
- expect_filtered("array", {}, "[]");
+ expect_filtered("array", {}, "null");
set_skip_set_values();
- expect_filtered("array", {}, "[]");
+ expect_filtered("array", {}, "null");
}
TEST_F(MatchedElementsFilterTest, matching_elements_fields_is_setup_for_array_field_value)
@@ -281,9 +281,9 @@ TEST_F(MatchedElementsFilterTest, filters_elements_in_map_field_value)
"{'key':'c','value':{'name':'c','weight':7}}]");
expect_filtered("map", {0, 1, 100}, "[]");
set_empty_values();
- expect_filtered("map", {}, "[]");
+ expect_filtered("map", {}, "null");
set_skip_set_values();
- expect_filtered("map", {}, "[]");
+ expect_filtered("map", {}, "null");
}
TEST_F(MatchedElementsFilterTest, filter_elements_in_weighed_set_field_value)
@@ -295,9 +295,9 @@ TEST_F(MatchedElementsFilterTest, filter_elements_in_weighed_set_field_value)
expect_filtered("wset", {0, 1, 2}, "[{'item':'a','weight':13},{'item':'b','weight':15},{'item':'c','weight':17}]");
expect_filtered("wset", {0, 1, 100}, "[]");
set_empty_values();
- expect_filtered("wset", {}, "[]");
+ expect_filtered("wset", {}, "null");
set_skip_set_values();
- expect_filtered("wset", {}, "[]");
+ expect_filtered("wset", {}, "null");
}
TEST_F(MatchedElementsFilterTest, matching_elements_fields_is_setup_for_map_field_value)
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp
index 7bec9cb6365..6f53c0b1c84 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp
@@ -77,7 +77,6 @@ filter_matching_elements_in_input_field_while_converting_to_slime(const FieldVal
auto& literal = static_cast<const LiteralFieldValueB&>(*converted);
vespalib::stringref buf = literal.getValueRef();
if (buf.empty()) {
- target.insertArray(0);
return;
}
Slime input_field_as_slime;
@@ -95,8 +94,6 @@ MatchedElementsFilterDFW::insertField(uint32_t docid, const IDocsumStoreDocument
auto field_value = doc->get_field_value(_input_field_name);
if (field_value) {
filter_matching_elements_in_input_field_while_converting_to_slime(*field_value, get_matching_elements(docid, *state), target);
- } else {
- target.insertArray(0);
}
}