summaryrefslogtreecommitdiffstats
path: root/searchsummary
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahoo-inc.com>2017-02-22 16:20:12 +0100
committerArne H Juul <arnej@yahoo-inc.com>2017-02-23 10:32:38 +0100
commit8ed10198c2863d6b6626456ee21ec900da1bfac0 (patch)
treeab13153d20fcb11935161851eee7e1c1a1f97b01 /searchsummary
parent016b6147442552e1cd40a707cf132f2a190670e9 (diff)
remove unused WriteField method from API
Diffstat (limited to 'searchsummary')
-rw-r--r--searchsummary/src/tests/docsummary/positionsdfw_test.cpp12
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp162
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsumfieldwriter.cpp116
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsumfieldwriter.h15
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp17
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp81
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/juniperdfw.h5
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp102
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h4
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp38
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.h5
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp44
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.h5
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/textextractordfw.cpp38
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/textextractordfw.h5
16 files changed, 7 insertions, 644 deletions
diff --git a/searchsummary/src/tests/docsummary/positionsdfw_test.cpp b/searchsummary/src/tests/docsummary/positionsdfw_test.cpp
index 2e756a21d2b..1892fa96179 100644
--- a/searchsummary/src/tests/docsummary/positionsdfw_test.cpp
+++ b/searchsummary/src/tests/docsummary/positionsdfw_test.cpp
@@ -13,6 +13,7 @@ LOG_SETUP("positionsdfw_test");
#include <vespa/searchsummary/docsummary/docsumstate.h>
#include <vespa/searchlib/util/rawbuf.h>
#include <vespa/vespalib/testkit/testapp.h>
+#include <vespa/vespalib/data/slime/slime.h>
#include <vespa/juniper/rpinterface.h>
using search::RawBuf;
@@ -116,16 +117,17 @@ void checkWritePositionField(Test &test, AttrType &attr,
createPositionsDFW(attr.getName().c_str(), &attribute_man);
ASSERT_TRUE(writer.get());
ResType res_type = RES_LONG_STRING;
- RawBuf target(1024);
MyGetDocsumsStateCallback callback;
GetDocsumsState state(callback);
state._attributes.push_back(&attr);
- writer->WriteField(doc_id, 0, &state, res_type, &target);
+ vespalib::Slime target;
+ vespalib::slime::SlimeInserter inserter(target);
+ writer->insertField(doc_id, nullptr, &state, res_type, inserter);
- test.EXPECT_EQUAL(expected.size(), *(const uint32_t *)(target.GetDrainPos()));
- const char *p = target.GetDrainPos() + 4;
- test.EXPECT_EQUAL(expected, string(p, p + expected.size()));
+ vespalib::Memory got = target.get().asString();
+ test.EXPECT_EQUAL(expected.size(), got.size);
+ test.EXPECT_EQUAL(expected, string(got.data, got.size));
}
void Test::requireThat2DPositionFieldIsWritten() {
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp
index 71f15b0d894..869cffb7661 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp
@@ -78,11 +78,6 @@ public:
SingleAttrDFW(const vespalib::string & attrName) :
AttrDFW(attrName)
{ }
- virtual uint32_t WriteField(uint32_t docid,
- GeneralResult *gres,
- GetDocsumsState *state,
- ResType type,
- RawBuf *target);
virtual void insertField(uint32_t docid,
GeneralResult *gres,
GetDocsumsState *state,
@@ -91,92 +86,6 @@ public:
virtual bool isDefaultValue(uint32_t docid, const GetDocsumsState * state) const;
};
-uint32_t
-SingleAttrDFW::WriteField(uint32_t docid,
- GeneralResult *,
- GetDocsumsState * state,
- ResType type,
- RawBuf *target)
-{
- const char *s="";
- const IAttributeVector & v = vec(*state);
- switch (type) {
- case RES_INT: {
- uint32_t val = v.getInt(docid);
- target->append(&val, sizeof(val));
- return sizeof(val);
- break; }
- case RES_SHORT: {
- uint16_t val = v.getInt(docid);
- target->append(&val, sizeof(val));
- return sizeof(val);
- break; }
- case RES_BYTE: {
- uint8_t val = v.getInt(docid);
- target->append(&val, sizeof(val));
- return sizeof(val);
- break; }
- case RES_FLOAT: {
- float val = v.getFloat(docid);
- target->append(&val, sizeof(val));
- return sizeof(val);
- break; }
- case RES_DOUBLE: {
- double val = v.getFloat(docid);
- target->append(&val, sizeof(val));
- return sizeof(val);
- break; }
- case RES_INT64: {
- uint64_t val = v.getInt(docid);
- target->append(&val, sizeof(val));
- return sizeof(val);
- break; }
- case RES_STRING:
- case RES_DATA: {
- s = v.getString(docid, NULL, 0); // no need to pass in a buffer, this attribute has a string storage.
- uint32_t len = strlen(s);
- uint16_t slen = (len < 0xffff) ? len : 0xffff;
- target->append(&slen, sizeof(slen));
- target->append(s, slen);
- return (sizeof(slen) + slen);
- break; }
- case RES_TENSOR: {
- vespalib::nbostream str;
- BasicType::Type t = v.getBasicType();
- switch (t) {
- case BasicType::TENSOR: {
- const tensor::TensorAttribute &tv =
- static_cast<const tensor::TensorAttribute &>(v);
- const auto tensor = tv.getTensor(docid);
- if (tensor) {
- vespalib::tensor::TypedBinaryFormat::serialize(str, *tensor);
- }
- }
- default:
- break;
- }
- uint32_t slen = str.size();
- target->append(&slen, sizeof(slen));
- target->append(str.peek(), slen);
- return (sizeof(slen) + slen);
- }
- case RES_JSONSTRING:
- case RES_XMLSTRING:
- case RES_FEATUREDATA:
- case RES_LONG_STRING:
- case RES_LONG_DATA: {
- s = v.getString(docid, NULL, 0); // no need to pass in a buffer, this attribute has a string storage.
- uint32_t slen = strlen(s);
- target->append(&slen, sizeof(slen));
- target->append(s, slen);
- return (sizeof(slen) + slen);
- break; }
- default:
- return 0;
- }
- return 0;
-}
-
bool SingleAttrDFW::isDefaultValue(uint32_t docid, const GetDocsumsState * state) const
{
return vec(*state).isUndefined(docid);
@@ -268,11 +177,6 @@ class MultiAttrDFW : public AttrDFW
{
public:
MultiAttrDFW(const vespalib::string & attrName) : AttrDFW(attrName) {}
- virtual uint32_t WriteField(uint32_t docid,
- GeneralResult *gres,
- GetDocsumsState *state,
- ResType type,
- RawBuf *target);
virtual void insertField(uint32_t docid,
GeneralResult *gres,
GetDocsumsState *state,
@@ -281,72 +185,6 @@ public:
};
-uint32_t
-MultiAttrDFW::WriteField(uint32_t docid,
- GeneralResult *,
- GetDocsumsState * state,
- ResType type,
- RawBuf *target)
-{
- bool isLong = IsBinaryCompatible(type, RES_LONG_STRING);
- uint32_t written = 0;
- uint16_t str_len_16 = 0;
- uint32_t str_len_32 = 0;
- int str_len_ofs = target->GetUsedLen();
- vespalib::JSONStringer & jsonStr = state->_jsonStringer;
-
- if (isLong) {
- target->append(&str_len_32, sizeof(str_len_32));
- } else {
- target->append(&str_len_16, sizeof(str_len_16));
- }
- const IAttributeVector & v = vec(*state);
- uint32_t entries = v.getValueCount(docid);
- {
- std::vector<IAttributeVector::WeightedString> elements(entries);
- entries = std::min(entries, v.get(docid, &elements[0], entries));
- jsonStr.clear();
- jsonStr.beginArray();
- for (uint32_t i = 0; i < entries; ++i) {
- if (v.hasWeightedSetType()) {
- jsonStr.beginArray();
- jsonStr.appendString(elements[i].getValue());
- jsonStr.appendInt64(elements[i].getWeight());
- jsonStr.endArray();
- } else {
- jsonStr.appendString(elements[i].getValue());
- }
- }
- jsonStr.endArray();
- (*target) += jsonStr.toString().c_str();
- jsonStr.clear();
- }
-
- // calculate number of bytes written
- written = target->GetUsedLen() - str_len_ofs;
-
- // patch in correct field length
- if (isLong) {
- str_len_32 = written - sizeof(str_len_32);
- memcpy(target->GetWritableDrainPos(str_len_ofs),
- &str_len_32, sizeof(str_len_32));
- } else {
- str_len_16 = written - sizeof(str_len_16);
- if (str_len_16 != written - sizeof(str_len_16)) {
- target->truncate(str_len_ofs);
- str_len_16 = 0;
- target->append(&str_len_16, sizeof(uint16_t));
- *target += "***OVERFLOW***";
- written = target->GetUsedLen() - str_len_ofs;
- str_len_16 = written - sizeof(uint16_t);
- assert(str_len_16 == written - sizeof(uint16_t));
- }
- memcpy(target->GetWritableDrainPos(str_len_ofs),
- &str_len_16, sizeof(str_len_16));
- }
- return written;
-}
-
void
MultiAttrDFW::insertField(uint32_t docid,
GeneralResult *,
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumfieldwriter.cpp b/searchsummary/src/vespa/searchsummary/docsummary/docsumfieldwriter.cpp
index e71b4d0fe69..e4c5181d05f 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsumfieldwriter.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumfieldwriter.cpp
@@ -44,19 +44,6 @@ EmptyDFW::insertField(uint32_t /*docid*/,
return;
}
-uint32_t
-EmptyDFW::WriteField(uint32_t docid,
- GeneralResult *gres,
- GetDocsumsState *state,
- ResType type,
- search::RawBuf *target)
-{
- (void) docid;
- (void) gres;
- (void) state;
- return DocsumFormat::addEmpty(type, *target);
-}
-
//--------------------------------------------------------------------------
CopyDFW::CopyDFW()
@@ -172,109 +159,6 @@ CopyDFW::insertField(uint32_t /*docid*/,
}
}
-uint32_t
-CopyDFW::WriteField(uint32_t docid,
- GeneralResult *gres,
- GetDocsumsState *state,
- ResType type,
- search::RawBuf *target)
-{
- (void) docid;
-
- uint32_t written = 0;
-
- int idx = gres->GetClass()->GetIndexFromEnumValue(_inputFieldEnumValue);
- ResEntry *entry = gres->GetEntry(idx);
-
- DocsumFormat::Appender appender(*target);
-
- if (entry != NULL &&
- IsRuntimeCompatible(entry->_type, type)) {
-
- // copy field
-
- switch (type) {
-
- case RES_INT: {
- written += appender.addInt32(entry->_intval);
- break; }
-
- case RES_SHORT: {
- written += appender.addShort(entry->_intval);
- break; }
-
- case RES_BYTE: {
- written += appender.addByte(entry->_intval);
- break; }
-
- case RES_FLOAT: {
- written += appender.addFloat(entry->_doubleval);
- break; }
-
- case RES_DOUBLE: {
- written += appender.addDouble(entry->_doubleval);
- break; }
-
- case RES_INT64: {
- written += appender.addInt64(entry->_int64val);
- break; }
-
- case RES_STRING: {
- uint32_t len;
- const char *spt;
- // resolve field
- entry->_resolve_field(&spt, &len,
- &state->_docSumFieldSpace);
- written += appender.addShortData(spt, len);
- break; }
-
- case RES_DATA: {
- uint32_t len;
- const char *dpt;
- // resolve field
- entry->_resolve_field(&dpt, &len,
- &state->_docSumFieldSpace);
- written += appender.addShortData(dpt, len);
- break; }
-
- case RES_XMLSTRING:
- case RES_JSONSTRING:
- case RES_FEATUREDATA:
- case RES_LONG_STRING: {
-
- uint32_t flen = entry->_len;
- uint32_t slen = entry->_get_length();
-
- // preserve compression flag
- target->append(&flen, sizeof(flen));
- written += sizeof(flen);
- target->append(entry->_stringval, slen);
- written += slen;
-
- break; }
-
- case RES_TENSOR:
- case RES_LONG_DATA: {
-
- uint32_t flen = entry->_len;
- uint32_t dlen = entry->_get_length();
-
- // preserve compression flag
- target->append(&flen, sizeof(flen));
- written += sizeof(flen);
- target->append(entry->_dataval, dlen);
- written += dlen;
-
- break; }
- }
- } else {
- // insert empty field
- written += appender.addEmpty(type);
- }
-
- return written;
-}
-
//--------------------------------------------------------------------------
} // namespace docsummary
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumfieldwriter.h b/searchsummary/src/vespa/searchsummary/docsummary/docsumfieldwriter.h
index 2c276402cbe..2f86e8ef5f1 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsumfieldwriter.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumfieldwriter.h
@@ -29,11 +29,6 @@ public:
{ return ResultConfig::IsRuntimeCompatible(a, b); }
virtual bool IsGenerated() const = 0;
- virtual uint32_t WriteField(uint32_t docid,
- GeneralResult *gres,
- GetDocsumsState *state,
- ResType type,
- search::RawBuf *target) = 0;
virtual void insertField(uint32_t docid,
GeneralResult *gres,
GetDocsumsState *state,
@@ -61,11 +56,6 @@ public:
virtual ~EmptyDFW();
virtual bool IsGenerated() const { return true; }
- virtual uint32_t WriteField(uint32_t docid,
- GeneralResult *gres,
- GetDocsumsState *state,
- ResType type,
- search::RawBuf *target);
virtual void insertField(uint32_t docid,
GeneralResult *gres,
GetDocsumsState *state,
@@ -87,11 +77,6 @@ public:
bool Init(const ResultConfig & config, const char *inputField);
virtual bool IsGenerated() const { return false; }
- virtual uint32_t WriteField(uint32_t docid,
- GeneralResult *gres,
- GetDocsumsState *state,
- ResType type,
- search::RawBuf *target);
virtual void insertField(uint32_t docid,
GeneralResult *gres,
GetDocsumsState *state,
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp
index bd83f821ff1..c903c7cbb78 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp
@@ -449,23 +449,6 @@ DynamicTeaserDFW::makeDynamicTeaser(uint32_t docid,
}
}
-uint32_t
-DynamicTeaserDFW::WriteField(uint32_t docid,
- GeneralResult *gres,
- GetDocsumsState *state,
- ResType type,
- search::RawBuf *target)
-{
- vespalib::string teaser = makeDynamicTeaser(docid, gres, state);
-
- bool isLong = IsBinaryCompatible(type, RES_LONG_STRING);
- if (isLong) {
- return DocsumFormat::addLongData(*target, teaser.c_str(), teaser.size());
- } else {
- return DocsumFormat::addShortData(*target, teaser.c_str(), teaser.size());
- }
-}
-
void
DynamicTeaserDFW::insertField(uint32_t docid,
GeneralResult *gres,
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp
index b1c68c4ffff..0922b231b10 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp
@@ -36,61 +36,6 @@ void fmtZcurve(int64_t zval, vespalib::slime::Inserter &target)
}
}
-void fmtZcurve(int64_t zval, vespalib::JSONWriter json)
-{
- int32_t docx = 0;
- int32_t docy = 0;
- vespalib::geo::ZCurve::decode(zval, &docx, &docy);
- json.beginObject();
- json.appendKey("y"); json.appendInt64(docy);
- json.appendKey("x"); json.appendInt64(docx);
- json.endObject();
-}
-
-vespalib::asciistream
-formatField(const IAttributeVector & attribute, uint32_t docid)
-{
- vespalib::asciistream target;
- vespalib::JSONWriter json(target);
-
- if (attribute.hasMultiValue()) {
- uint32_t entries = attribute.getValueCount(docid);
- LOG(debug, "docid=%d, entries=%d", docid, entries);
- json.beginArray();
- if (attribute.hasWeightedSetType()) {
- std::vector<IAttributeVector::WeightedInt> elements(entries);
- entries = attribute.get(docid, &elements[0], entries);
- for (uint32_t i = 0; i < entries; ++i) {
- json.beginObject();
- int64_t pos = elements[i].getValue();
- json.appendKey("item");
- fmtZcurve(pos, json);
- json.appendKey("weight");
- json.appendInt64(elements[i].getWeight());
- json.endObject();
- }
- } else {
- std::vector<IAttributeVector::largeint_t> elements(16);
- uint32_t numValues = attribute.get(docid, &elements[0], elements.size());
- if (numValues > elements.size()) {
- elements.resize(numValues);
- numValues = attribute.get(docid, &elements[0], elements.size());
- assert(numValues <= elements.size());
- }
- LOG(debug, "docid=%d, numValues=%d", docid, numValues);
- for (uint32_t i = 0; i < numValues; i++) {
- int64_t pos = elements[i];
- fmtZcurve(pos, json);
- }
- }
- } else {
- int64_t pos = attribute.getInt(docid);
- LOG(debug, "docid=%d, pos=%ld", docid, pos);
- fmtZcurve(pos, json);
- }
- return target;
-}
-
}
void
@@ -135,32 +80,6 @@ GeoPositionDFW::insertField(uint32_t docid, GeneralResult *, GetDocsumsState * d
}
}
-uint32_t
-GeoPositionDFW::WriteField(uint32_t docid,
- GeneralResult *,
- GetDocsumsState * dsState,
- ResType type,
- search::RawBuf * target)
-{
- int str_len_ofs = target->GetUsedLen();
-
- vespalib::asciistream val(formatField(vec(*dsState), docid));
-
- bool isLong = IsBinaryCompatible(type, RES_LONG_STRING);
- if (isLong) {
- uint32_t str_len_32 = val.size();
- target->append(&str_len_32, sizeof(str_len_32));
- target->append(val.c_str(), str_len_32);
- } else {
- uint16_t str_len_16 = val.size();
- target->append(&str_len_16, sizeof(str_len_16));
- target->append(val.c_str(), str_len_16);
- }
- // calculate number of bytes written
- uint32_t written = target->GetUsedLen() - str_len_ofs;
- return written;
-}
-
GeoPositionDFW::UP
GeoPositionDFW::create(const char *attribute_name,
IAttributeManager *attribute_manager)
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h
index a36045f0268..72ec905b5a7 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h
@@ -15,8 +15,6 @@ class GeoPositionDFW : public AttrDFW
public:
typedef std::unique_ptr<GeoPositionDFW> UP;
GeoPositionDFW(const vespalib::string & attrName);
- uint32_t WriteField(uint32_t docid, GeneralResult * gres, GetDocsumsState * state,
- ResType type, search::RawBuf * target) override;
void insertField(uint32_t docid, GeneralResult *gres, GetDocsumsState *state,
ResType type, vespalib::slime::Inserter &target) override;
static UP create(const char *attribute_name, IAttributeManager *attribute_manager);
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/juniperdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/juniperdfw.h
index 44431a146bb..981885754bd 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/juniperdfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/juniperdfw.h
@@ -57,11 +57,6 @@ public:
GeneralResult *gres,
GetDocsumsState *state);
- virtual uint32_t WriteField(uint32_t docid,
- GeneralResult *gres,
- GetDocsumsState *state,
- ResType type,
- search::RawBuf *target);
virtual void insertField(uint32_t docid,
GeneralResult *gres,
GetDocsumsState *state,
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp
index 723238b1b8b..841840d8349 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp
@@ -105,84 +105,6 @@ AbsDistanceDFW::insertField(uint32_t docid, GeneralResult *, GetDocsumsState *st
}
}
-
-uint32_t
-AbsDistanceDFW::WriteField(uint32_t docid, GeneralResult *gres, GetDocsumsState *state,
- ResType type, search::RawBuf *target)
-{
- (void) gres;
-
- bool forceEmpty = true;
-
- const vespalib::string &locationStr = state->_args.getLocation();
- if (locationStr.size() > 0) {
- if (state->_parsedLocation.get() == NULL) {
- state->_callback.ParseLocation(state);
- }
- assert(state->_parsedLocation.get() != NULL);
- if (state->_parsedLocation->getParseError() == NULL) {
- forceEmpty = false;
- }
- }
-
- uint32_t written = 0;
- if (!forceEmpty) {
- uint64_t absdist = findMinDistance(docid, state);
-
- if (type != RES_INT) {
- bool isLong = IsBinaryCompatible(type, RES_LONG_STRING);
- uint16_t str_len_16 = 0;
- uint32_t str_len_32 = 0;
- int str_len_ofs = target->GetUsedLen();
-
- if (isLong)
- target->append(&str_len_32, sizeof(str_len_32));
- else
- target->append(&str_len_16, sizeof(str_len_16));
-
- target->addNum64(absdist, 1, ' ');
-
- // calculate number of bytes written
- written = target->GetUsedLen() - str_len_ofs;
-
- // patch in correct field length
- if (isLong) {
- str_len_32 = written - sizeof(str_len_32);
- memcpy(target->GetWritableDrainPos(str_len_ofs), &str_len_32,
- sizeof(str_len_32));
- } else {
- str_len_16 = written - sizeof(str_len_16);
- memcpy(target->GetWritableDrainPos(str_len_ofs), &str_len_16,
- sizeof(str_len_16));
- }
- } else {
- uint32_t val32 = (uint32_t) absdist;
- target->append(&val32, sizeof(val32));
- written = sizeof(val32);
- }
- } else {
- if (type != RES_INT) {
- bool isLong = IsBinaryCompatible(type, RES_LONG_STRING);
- uint16_t str_len_16 = 0;
- uint32_t str_len_32 = 0;
- int str_len_ofs = target->GetUsedLen();
-
- if (isLong)
- target->append(&str_len_32, sizeof(str_len_32));
- else
- target->append(&str_len_16, sizeof(str_len_16));
-
- // calculate number of bytes written
- written = target->GetUsedLen() - str_len_ofs;
- } else {
- uint32_t val32 = 0u;
- target->append(&val32, sizeof(val32));
- written = sizeof(val32);
- }
- }
- return written;
-}
-
//--------------------------------------------------------------------------
PositionsDFW::PositionsDFW(const vespalib::string & attrName) :
@@ -243,30 +165,6 @@ formatField(const attribute::IAttributeVector &attribute, uint32_t docid, ResTyp
}
}
-uint32_t
-PositionsDFW::WriteField(uint32_t docid, GeneralResult *, GetDocsumsState * dsState,
- ResType type, search::RawBuf *target)
-{
- int str_len_ofs = target->GetUsedLen();
-
- vespalib::asciistream val(formatField(vec(*dsState), docid, type));
-
- bool isLong = IsBinaryCompatible(type, RES_LONG_STRING);
- if (isLong) {
- uint32_t str_len_32 = val.size();
- target->append(&str_len_32, sizeof(str_len_32));
- target->append(val.c_str(), str_len_32);
- } else {
- uint16_t str_len_16 = val.size();
- target->append(&str_len_16, sizeof(str_len_16));
- target->append(val.c_str(), str_len_16);
- }
- // calculate number of bytes written
- uint32_t written = target->GetUsedLen() - str_len_ofs;
- return written;
-}
-
-
void
PositionsDFW::insertField(uint32_t docid, GeneralResult *, GetDocsumsState * dsState,
ResType type, vespalib::slime::Inserter &target)
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h
index 2140ea52a63..0aad5b2550c 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h
@@ -15,8 +15,6 @@ public:
AbsDistanceDFW(const vespalib::string & attrName);
bool IsGenerated() const override { return true; }
- uint32_t WriteField(uint32_t docid, GeneralResult *gres, GetDocsumsState *state,
- ResType type, search::RawBuf *target) override;
void insertField(uint32_t docid, GeneralResult *gres, GetDocsumsState *state,
ResType type, vespalib::slime::Inserter &target) override;
};
@@ -31,8 +29,6 @@ public:
PositionsDFW(const vespalib::string & attrName);
bool IsGenerated() const override { return true; }
- uint32_t WriteField(uint32_t docid, GeneralResult *gres, GetDocsumsState *state,
- ResType type, search::RawBuf *target) override;
void insertField(uint32_t docid, GeneralResult *gres, GetDocsumsState *state,
ResType type, vespalib::slime::Inserter &target) override ;
};
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp
index 629bd37b155..e1378ba1882 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp
@@ -23,44 +23,6 @@ RankFeaturesDFW::init(IDocsumEnvironment * env)
_env = env;
}
-uint32_t
-RankFeaturesDFW::WriteField(uint32_t docid,
- GeneralResult * gres,
- GetDocsumsState * state,
- ResType type,
- search::RawBuf * target)
-{
- (void) gres;
-
- if (state->_rankFeatures.get() == NULL) {
- state->_callback.FillRankFeatures(state, _env);
- if (state->_rankFeatures.get() == NULL) { // still no rank features to write
- return DocsumFormat::addEmpty(type, *target);
- }
- }
-
- uint32_t written = 0;
-
- const FeatureSet::StringVector & names = state->_rankFeatures->getNames();
- const feature_t * values = state->_rankFeatures->getFeaturesByDocId(docid);
- vespalib::JSONStringer & json(state->_jsonStringer);
- if (values != NULL) {
- json.clear();
- json.beginObject();
- for (uint32_t i = 0; i < names.size(); ++i) {
- featureDump(json, names[i], values[i]);
- }
- json.endObject();
- written += SummaryFeaturesDFW::writeString(json.toString(), type, target);
- json.clear();
- } else {
- written += DocsumFormat::addEmpty(type, *target);
- }
-
- return written;
-}
-
-
void
RankFeaturesDFW::insertField(uint32_t docid,
GeneralResult *,
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.h
index a04271a16c1..3c1382c1eda 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.h
@@ -22,11 +22,6 @@ public:
virtual ~RankFeaturesDFW();
void init(IDocsumEnvironment * env);
virtual bool IsGenerated() const { return true; }
- virtual uint32_t WriteField(uint32_t docid,
- GeneralResult * gres,
- GetDocsumsState * state,
- ResType type,
- search::RawBuf * target);
virtual void insertField(uint32_t docid,
GeneralResult *gres,
GetDocsumsState *state,
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp
index 758162f5e97..d78f684501f 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp
@@ -87,50 +87,6 @@ SummaryFeaturesDFW::insertField(uint32_t docid,
}
}
-uint32_t
-SummaryFeaturesDFW::WriteField(uint32_t docid,
- GeneralResult * gres,
- GetDocsumsState * state,
- ResType type,
- search::RawBuf * target)
-{
- (void) gres;
-
- if (state->_summaryFeatures.get() == 0) {
- state->_callback.FillSummaryFeatures(state, _env);
- if (state->_summaryFeatures.get() == 0) { // still no summary features to write
- return DocsumFormat::addEmpty(type, *target);
- }
- }
-
- uint32_t written = 0;
-
- const FeatureSet::StringVector &names = state->_summaryFeatures->getNames();
- vespalib::JSONStringer & json(state->_jsonStringer);
- const feature_t *values = state->_summaryFeatures->getFeaturesByDocId(docid);
- if (values != NULL) {
- json.clear();
- json.beginObject();
- for (uint32_t i = 0; i < names.size(); ++i) {
- featureDump(json, names[i], values[i]);
- }
- json.appendKey(_G_cached);
- if (state->_summaryFeaturesCached) {
- json.appendDouble(1.0);
- } else {
- json.appendDouble(0.0);
- }
- json.endObject();
-
- written += writeString(json.toString(), type, target);
- json.clear();
- } else {
- written += DocsumFormat::addEmpty(type, *target);
- }
-
- return written;
-}
-
void FeaturesDFW::featureDump(vespalib::JSONStringer & json, const vespalib::stringref & name, double feature)
{
json.appendKey(name);
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.h
index 20e2624c7b7..7da574fe1fd 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.h
@@ -31,11 +31,6 @@ public:
virtual ~SummaryFeaturesDFW();
void init(IDocsumEnvironment * env);
virtual bool IsGenerated() const { return true; }
- virtual uint32_t WriteField(uint32_t docid,
- GeneralResult * gres,
- GetDocsumsState * state,
- ResType type,
- search::RawBuf * target);
virtual void insertField(uint32_t docid,
GeneralResult *gres,
GetDocsumsState *state,
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/textextractordfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/textextractordfw.cpp
index 67a7f9e8da6..3f657efb6c6 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/textextractordfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/textextractordfw.cpp
@@ -52,44 +52,6 @@ TextExtractorDFW::insertField(uint32_t,
target.insertString(vespalib::Memory(extracted.c_str(), extracted.size()));
}
-uint32_t
-TextExtractorDFW::WriteField(uint32_t docid,
- GeneralResult * gres,
- GetDocsumsState * state,
- ResType type,
- search::RawBuf * target)
-{
- (void) docid;
- (void) type;
- uint32_t slen = 0;
- uint32_t begin = target->GetUsedLen();
- // write text length
- target->append(&slen, sizeof(slen));
-
- ResEntry * entry = gres->GetEntryFromEnumValue(_inputFieldEnum);
- if (entry != NULL) {
- const char * buf = NULL;
- uint32_t buflen = 0;
- entry->_resolve_field(&buf, &buflen, &state->_docSumFieldSpace);
- // extract the text
- Tokenizer tokenizer(buf, buflen);
- while (tokenizer.hasMoreTokens()) {
- Tokenizer::Token token = tokenizer.getNextToken();
- target->append(token.getText().c_str(), token.getText().size());
- }
- } else {
- LOG(warning, "Did not find input entry using field enum %d. Write an empty field", _inputFieldEnum);
- }
-
- // calculate number of bytes written
- uint32_t written = target->GetUsedLen() - begin;
- // patch in correct text length
- slen = written - sizeof(slen);
- memcpy(target->GetWritableDrainPos(begin), &slen, sizeof(slen));
-
- return written;
-}
-
}
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/textextractordfw.h b/searchsummary/src/vespa/searchsummary/docsummary/textextractordfw.h
index f22d5b3daa4..a12455e61a3 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/textextractordfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/textextractordfw.h
@@ -25,11 +25,6 @@ public:
// Inherit doc
virtual bool IsGenerated() const { return false; }
// Inherit doc
- virtual uint32_t WriteField(uint32_t docid,
- GeneralResult * gres,
- GetDocsumsState * state,
- ResType type,
- search::RawBuf * target);
virtual void insertField(uint32_t docid,
GeneralResult *gres,
GetDocsumsState *state,