aboutsummaryrefslogtreecommitdiffstats
path: root/searchsummary
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-06-23 10:10:30 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2022-06-23 10:17:15 +0000
commit4810cbde6311fb10e5c8c0e85e794b37aaa0e1a0 (patch)
tree3ba5c0d5deb4717727b5bcece49bca9602fb1de8 /searchsummary
parentb0ba562566027d6de287c53b20f5cda85eb54440 (diff)
remove assert and use a return guard
Diffstat (limited to 'searchsummary')
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp29
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp21
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp29
4 files changed, 24 insertions, 57 deletions
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp
index 1a2cf24a18d..1fcb0a49be1 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp
@@ -65,35 +65,6 @@ AbsDistanceDFW::AbsDistanceDFW(const vespalib::string & attrName)
: LocationAttrDFW(attrName)
{ }
-double
-AbsDistanceDFW::kmMinDistance(uint32_t docid, GetDocsumsState *state,
- const std::vector<const GeoLoc *> &locations)
-{
- double best = std::numeric_limits<double>::max();
- const auto& attribute = get_attribute(*state);
- for (auto location : locations) {
- double lat = to_degrees(location->point.y);
- double lng = to_degrees(location->point.x);
- GeoGcd point{lat, lng};
- int32_t docx = 0;
- int32_t docy = 0;
- IntegerContent pos;
- pos.fill(attribute, docid);
- uint32_t numValues = pos.size();
- for (uint32_t i = 0; i < numValues; i++) {
- int64_t docxy(pos[i]);
- vespalib::geo::ZCurve::decode(docxy, &docx, &docy);
- lat = to_degrees(docy);
- lng = to_degrees(docx);
- double dist = point.km_great_circle_distance(lat, lng);
- if (dist < best) {
- best = dist;
- }
- }
- }
- return best;
-}
-
uint64_t
AbsDistanceDFW::findMinDistance(uint32_t docid, GetDocsumsState *state,
const std::vector<const GeoLoc *> &locations)
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h
index 7f6bfe22816..b3e041c1379 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h
@@ -36,8 +36,6 @@ public:
class AbsDistanceDFW : public LocationAttrDFW
{
private:
- double kmMinDistance(uint32_t docid, GetDocsumsState *state,
- const std::vector<const GeoLoc *> &locations);
uint64_t findMinDistance(uint32_t docid, GetDocsumsState *state,
const std::vector<const GeoLoc *> &locations);
public:
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp
index 8b75f9de8e1..38b58ef94fc 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp
@@ -14,7 +14,7 @@ RankFeaturesDFW::~RankFeaturesDFW() = default;
void
RankFeaturesDFW::insertField(uint32_t docid, GetDocsumsState *state,
- ResType type, vespalib::slime::Inserter &target)
+ ResType, vespalib::slime::Inserter &target)
{
if ( !state->_rankFeatures ) {
state->_callback.FillRankFeatures(state, _env);
@@ -24,16 +24,15 @@ RankFeaturesDFW::insertField(uint32_t docid, GetDocsumsState *state,
}
const FeatureSet::StringVector & names = state->_rankFeatures->getNames();
const FeatureSet::Value * values = state->_rankFeatures->getFeaturesByDocId(docid);
- assert(type == RES_FEATUREDATA);
- if (values != nullptr) {
- vespalib::slime::Cursor& obj = target.insertObject();
- for (uint32_t i = 0; i < names.size(); ++i) {
- vespalib::Memory name(names[i].c_str(), names[i].size());
- if (values[i].is_data()) {
- obj.setData(name, values[i].as_data());
- } else {
- obj.setDouble(name, values[i].as_double());
- }
+ if (values == nullptr) { return; }
+
+ vespalib::slime::Cursor& obj = target.insertObject();
+ for (uint32_t i = 0; i < names.size(); ++i) {
+ vespalib::Memory name(names[i].c_str(), names[i].size());
+ if (values[i].is_data()) {
+ obj.setData(name, values[i].as_data());
+ } else {
+ obj.setDouble(name, values[i].as_double());
}
}
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp
index 960cdd19877..f920b7be0cd 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp
@@ -20,7 +20,7 @@ SummaryFeaturesDFW::~SummaryFeaturesDFW() = default;
static vespalib::Memory _M_cached("vespa.summaryFeatures.cached");
void
-SummaryFeaturesDFW::insertField(uint32_t docid, GetDocsumsState *state, ResType type, vespalib::slime::Inserter &target)
+SummaryFeaturesDFW::insertField(uint32_t docid, GetDocsumsState *state, ResType, vespalib::slime::Inserter &target)
{
if (state->_omit_summary_features) {
return;
@@ -33,23 +33,22 @@ SummaryFeaturesDFW::insertField(uint32_t docid, GetDocsumsState *state, ResType
}
const FeatureSet::StringVector &names = state->_summaryFeatures->getNames();
const FeatureSet::Value *values = state->_summaryFeatures->getFeaturesByDocId(docid);
- assert(type == RES_FEATUREDATA);
- if (values != nullptr) {
- vespalib::slime::Cursor& obj = target.insertObject();
- for (uint32_t i = 0; i < names.size(); ++i) {
- vespalib::Memory name(names[i].c_str(), names[i].size());
- if (values[i].is_data()) {
- obj.setData(name, values[i].as_data());
- } else {
- obj.setDouble(name, values[i].as_double());
- }
- }
- if (state->_summaryFeaturesCached) {
- obj.setDouble(_M_cached, 1.0);
+ if (values == nullptr) { return; }
+
+ vespalib::slime::Cursor& obj = target.insertObject();
+ for (uint32_t i = 0; i < names.size(); ++i) {
+ vespalib::Memory name(names[i].c_str(), names[i].size());
+ if (values[i].is_data()) {
+ obj.setData(name, values[i].as_data());
} else {
- obj.setDouble(_M_cached, 0.0);
+ obj.setDouble(name, values[i].as_double());
}
}
+ if (state->_summaryFeaturesCached) {
+ obj.setDouble(_M_cached, 1.0);
+ } else {
+ obj.setDouble(_M_cached, 0.0);
+ }
}
}