From 215603d0ebcbd996130bfb37313c0b2de7533463 Mon Sep 17 00:00:00 2001 From: Tor Egge Date: Thu, 8 Sep 2022 14:27:44 +0200 Subject: Ignore summary field type for AbsDistanceDFW and PositionsDFW. --- .../searchsummary/docsummary/positionsdfw.cpp | 27 +++------------------- .../vespa/searchsummary/docsummary/positionsdfw.h | 4 ++-- 2 files changed, 5 insertions(+), 26 deletions(-) (limited to 'searchsummary/src') diff --git a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp index 1000fee8423..2dd19d8d9ea 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp @@ -95,26 +95,14 @@ AbsDistanceDFW::findMinDistance(uint32_t docid, GetDocsumsState *state, } void -AbsDistanceDFW::insertField(uint32_t docid, GetDocsumsState *state, ResType type, vespalib::slime::Inserter &target) const +AbsDistanceDFW::insertField(uint32_t docid, GetDocsumsState *state, ResType, vespalib::slime::Inserter &target) const { const auto & all_locations = getAllLocations(state); if (all_locations.empty()) { return; } uint64_t absdist = findMinDistance(docid, state, all_locations.best()); - if (type == RES_INT) { - target.insertLong(absdist); - } else { - vespalib::string value = vespalib::stringify(absdist); - vespalib::Memory data(value.c_str(), value.size()); - - if (type == RES_STRING || type == RES_LONG_STRING) { - target.insertString(data); - } - if (type == RES_LONG_DATA || type == RES_DATA) { - target.insertData(data); - } - } + target.insertLong(absdist); } //-------------------------------------------------------------------------- @@ -181,14 +169,6 @@ insertFromAttr(const attribute::IAttributeVector &attribute, uint32_t docid, ves } } -void checkExpected(ResType type) { - static bool alreadyWarned = false; - if (type == RES_JSONSTRING) return; - if (alreadyWarned) return; - alreadyWarned = true; - LOG(error, "Unexpected summary field type %s", ResultConfig::GetResTypeName(type)); -} - void insertPosV8(int64_t docxy, vespalib::slime::Inserter &target) { int32_t docx = 0; int32_t docy = 0; @@ -240,9 +220,8 @@ void insertV8FromAttr(const attribute::IAttributeVector &attribute, uint32_t doc } // namespace void -PositionsDFW::insertField(uint32_t docid, GetDocsumsState * dsState, ResType type, vespalib::slime::Inserter &target) const +PositionsDFW::insertField(uint32_t docid, GetDocsumsState * dsState, ResType, vespalib::slime::Inserter &target) const { - checkExpected(type); if (_useV8geoPositions) { insertV8FromAttr(get_attribute(*dsState), docid, target); } else { diff --git a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h index d0a38d1004e..67fe0bba5fe 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h @@ -44,7 +44,7 @@ public: bool IsGenerated() const override { return true; } void insertField(uint32_t docid, GetDocsumsState *state, - ResType type, vespalib::slime::Inserter &target) const override; + ResType, vespalib::slime::Inserter &target) const override; static std::unique_ptr create(const char *attribute_name, const IAttributeManager *index_man); @@ -60,7 +60,7 @@ public: typedef std::unique_ptr UP; PositionsDFW(const vespalib::string & attrName, bool useV8geoPositions); bool IsGenerated() const override { return true; } - void insertField(uint32_t docid, GetDocsumsState *state, ResType type, vespalib::slime::Inserter &target) const override; + void insertField(uint32_t docid, GetDocsumsState *state, ResType, vespalib::slime::Inserter &target) const override; static UP create(const char *attribute_name, const IAttributeManager *index_man, bool useV8geoPositions); }; -- cgit v1.2.3