diff options
author | Geir Storli <geirst@verizonmedia.com> | 2019-10-08 13:26:10 +0000 |
---|---|---|
committer | Geir Storli <geirst@verizonmedia.com> | 2019-10-08 13:26:10 +0000 |
commit | b57b992bd230b3de1b8cc628a9438042405bf8c4 (patch) | |
tree | 446d2a1fcbd161533759e52b13aa719a7eefecca /searchsummary | |
parent | 7d515d414fd38216e02e1be545d3c361b31cfddd (diff) |
Fix how slime field value is encoded into root inserter.
Diffstat (limited to 'searchsummary')
-rw-r--r-- | searchsummary/src/tests/docsummary/matched_elements_filter/matched_elements_filter_test.cpp | 14 | ||||
-rw-r--r-- | searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp | 10 |
2 files changed, 5 insertions, 19 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 7c058ee5e1f..bbcab709e42 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 @@ -49,12 +49,6 @@ struct SlimeValue { size_t used = JsonFormat::decode(json_input, slime); EXPECT_GT(used, 0); } - SlimeValue(const Slime& slime_with_raw_field) - : slime() - { - size_t used = BinaryFormat::decode(slime_with_raw_field.get().asString(), slime); - EXPECT_GT(used, 0); - } }; StructDataType::UP @@ -189,7 +183,7 @@ private: AttributeContext _attr_ctx; std::shared_ptr<StructFieldMapper> _mapper; - SlimeValue run_filter_field_writer(const std::string& input_field_name, const ElementVector& matching_elements) { + Slime run_filter_field_writer(const std::string& input_field_name, const ElementVector& matching_elements) { auto writer = make_field_writer(input_field_name); GeneralResult result(_doc_store.get_class()); result.inplaceUnpack(_doc_store.getMappedDocsum()); @@ -199,7 +193,7 @@ private: SlimeInserter inserter(slime); writer->insertField(doc_id, &result, &state, ResType::RES_JSONSTRING, inserter); - return SlimeValue(slime); + return slime; } public: @@ -217,9 +211,9 @@ public: _attr_ctx, _mapper); } void expect_filtered(const std::string& input_field_name, const ElementVector& matching_elements, const std::string& exp_slime_as_json) { - SlimeValue act = run_filter_field_writer(input_field_name, matching_elements); + Slime act = run_filter_field_writer(input_field_name, matching_elements); SlimeValue exp(exp_slime_as_json); - EXPECT_EQ(exp.slime, act.slime); + EXPECT_EQ(exp.slime, act); } const StructFieldMapper& mapper() const { return *_mapper; } }; 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 631476ea914..7c270d7184d 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp @@ -71,14 +71,6 @@ filter_matching_elements_in_input_field(const Slime& input_field, const std::vec } } -void -encode_output_field(const Slime& output_field, Inserter& target) -{ - vespalib::SmartBuffer buf(4096); - BinaryFormat::encode(output_field, buf); - target.insertString(buf.obtain()); -} - } void @@ -95,7 +87,7 @@ MatchedElementsFilterDFW::insertField(uint32_t docid, GeneralResult* result, Get Slime output_field; filter_matching_elements_in_input_field(input_field, state->get_matching_elements(*_struct_field_mapper).get_matching_elements(docid, _input_field_name), output_field); - encode_output_field(output_field, target); + inject(output_field.get(), target); } } |