diff options
author | Tor Egge <Tor.Egge@online.no> | 2022-09-05 16:55:17 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2022-09-05 16:55:17 +0200 |
commit | d473cd4dd11cd46d79a0209efddbcd9d2b9572bd (patch) | |
tree | cc414431eb2a08efe1f6cca3dc38de8ec59f9ebb | |
parent | fb510f54de2ea004f94c9d054db33363d664ef27 (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.cpp | 12 | ||||
-rw-r--r-- | searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp | 3 |
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); } } |