diff options
author | Geir Storli <geirst@yahooinc.com> | 2022-03-29 14:35:56 +0000 |
---|---|---|
committer | Geir Storli <geirst@yahooinc.com> | 2022-03-29 14:37:01 +0000 |
commit | f11ab47d3ab497a63cad4538cb82d9492bc871af (patch) | |
tree | a7d8f62a1d3bbca9186379e8f6197c960de29f03 /searchlib/src | |
parent | f18559088933e5c7309c33455fbe222fdbb476ab (diff) |
Add APIs that provide read access to raw data stored in multi-value attributes.
Diffstat (limited to 'searchlib/src')
4 files changed, 7 insertions, 0 deletions
diff --git a/searchlib/src/vespa/searchlib/attribute/attributevector.cpp b/searchlib/src/vespa/searchlib/attribute/attributevector.cpp index ea2379eef58..76494356829 100644 --- a/searchlib/src/vespa/searchlib/attribute/attributevector.cpp +++ b/searchlib/src/vespa/searchlib/attribute/attributevector.cpp @@ -567,6 +567,7 @@ attribute::IPostingListAttributeBase *AttributeVector::getIPostingListAttributeB const attribute::IPostingListAttributeBase *AttributeVector::getIPostingListAttributeBase() const { return nullptr; } const IDocumentWeightAttribute * AttributeVector::asDocumentWeightAttribute() const { return nullptr; } const tensor::ITensorAttribute *AttributeVector::asTensorAttribute() const { return nullptr; } +const attribute::IMultiValueAttribute* AttributeVector::as_multi_value_attribute() const { return nullptr; } bool AttributeVector::hasPostings() { return getIPostingListAttributeBase() != nullptr; } uint64_t AttributeVector::getUniqueValueCount() const { return getTotalValueCount(); } uint64_t AttributeVector::getTotalValueCount() const { return getNumDocs(); } diff --git a/searchlib/src/vespa/searchlib/attribute/attributevector.h b/searchlib/src/vespa/searchlib/attribute/attributevector.h index 8f0ce6327a8..ce65664d7d7 100644 --- a/searchlib/src/vespa/searchlib/attribute/attributevector.h +++ b/searchlib/src/vespa/searchlib/attribute/attributevector.h @@ -497,6 +497,7 @@ public: const IDocumentWeightAttribute *asDocumentWeightAttribute() const override; const tensor::ITensorAttribute *asTensorAttribute() const override; + const attribute::IMultiValueAttribute* as_multi_value_attribute() const override; /** - Search for equality diff --git a/searchlib/src/vespa/searchlib/attribute/imported_attribute_vector_read_guard.cpp b/searchlib/src/vespa/searchlib/attribute/imported_attribute_vector_read_guard.cpp index 2a5d57475ca..f1ae5252031 100644 --- a/searchlib/src/vespa/searchlib/attribute/imported_attribute_vector_read_guard.cpp +++ b/searchlib/src/vespa/searchlib/attribute/imported_attribute_vector_read_guard.cpp @@ -119,6 +119,10 @@ const tensor::ITensorAttribute *ImportedAttributeVectorReadGuard::asTensorAttrib return nullptr; } +const attribute::IMultiValueAttribute* ImportedAttributeVectorReadGuard::as_multi_value_attribute() const { + return nullptr; +} + BasicType::Type ImportedAttributeVectorReadGuard::getBasicType() const { return _target_attribute.getBasicType(); } diff --git a/searchlib/src/vespa/searchlib/attribute/imported_attribute_vector_read_guard.h b/searchlib/src/vespa/searchlib/attribute/imported_attribute_vector_read_guard.h index 502215f58cd..f5b896e2da5 100644 --- a/searchlib/src/vespa/searchlib/attribute/imported_attribute_vector_read_guard.h +++ b/searchlib/src/vespa/searchlib/attribute/imported_attribute_vector_read_guard.h @@ -76,6 +76,7 @@ public: const SearchContextParams ¶ms) const override; const IDocumentWeightAttribute *asDocumentWeightAttribute() const override; const tensor::ITensorAttribute *asTensorAttribute() const override; + const attribute::IMultiValueAttribute* as_multi_value_attribute() const override; BasicType::Type getBasicType() const override; size_t getFixedWidth() const override; CollectionType::Type getCollectionType() const override; |