summaryrefslogtreecommitdiffstats
path: root/searchsummary
diff options
context:
space:
mode:
authorGeir Storli <geirst@verizonmedia.com>2019-10-08 13:26:10 +0000
committerGeir Storli <geirst@verizonmedia.com>2019-10-08 13:26:10 +0000
commitb57b992bd230b3de1b8cc628a9438042405bf8c4 (patch)
tree446d2a1fcbd161533759e52b13aa719a7eefecca /searchsummary
parent7d515d414fd38216e02e1be545d3c361b31cfddd (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.cpp14
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp10
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);
}
}