diff options
author | Tor Brede Vekterli <vekterli@oath.com> | 2018-01-23 10:41:17 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-23 10:41:17 +0100 |
commit | 8069d93570f86a66260174cb14fc6314e0c77f4f (patch) | |
tree | 8d86fb280ca9932de087b52f7b7966dd5e433d11 /searchcore | |
parent | 446c42d02f86780cc0626e29eddab56be33d50e3 (diff) | |
parent | 55350f5c1c4c1a2f0d37e31d3495ee7adfc01dac (diff) |
Merge pull request #4733 from vespa-engine/toregge/add-imported-tensor-attribute-vector
Add imported tensor attribute vector
Diffstat (limited to 'searchcore')
5 files changed, 27 insertions, 19 deletions
diff --git a/searchcore/src/tests/proton/attribute/attribute_manager/attribute_manager_test.cpp b/searchcore/src/tests/proton/attribute/attribute_manager/attribute_manager_test.cpp index 899dc146c8e..6da1ff890c9 100644 --- a/searchcore/src/tests/proton/attribute/attribute_manager/attribute_manager_test.cpp +++ b/searchcore/src/tests/proton/attribute/attribute_manager/attribute_manager_test.cpp @@ -24,6 +24,7 @@ LOG_SETUP("attribute_manager_test"); #include <vespa/searchlib/attribute/attributefactory.h> #include <vespa/searchlib/attribute/attributevector.hpp> #include <vespa/searchlib/attribute/imported_attribute_vector.h> +#include <vespa/searchlib/attribute/imported_attribute_vector_factory.h> #include <vespa/searchlib/attribute/integerbase.h> #include <vespa/searchlib/attribute/predicate_attribute.h> #include <vespa/searchlib/attribute/reference_attribute.h> @@ -58,6 +59,7 @@ using search::attribute::BasicType; using search::attribute::IAttributeContext; using search::attribute::IAttributeVector; using search::attribute::ImportedAttributeVector; +using search::attribute::ImportedAttributeVectorFactory; using search::attribute::ReferenceAttribute; using search::attribute::test::MockGidToLidMapperFactory; using search::index::DummyFileHeaderContext; @@ -137,7 +139,7 @@ struct ImportedAttributesRepoBuilder { refAttr->setGidToLidMapperFactory(std::make_shared<MockGidToLidMapperFactory>()); auto targetAttr = search::AttributeFactory::createAttribute(name + "_target", INT32_SINGLE); auto documentMetaStore = std::shared_ptr<search::IDocumentMetaStoreContext>(); - auto importedAttr = std::make_shared<ImportedAttributeVector>(name, refAttr, targetAttr, documentMetaStore, false); + auto importedAttr = ImportedAttributeVectorFactory::create(name, refAttr, targetAttr, documentMetaStore, false); _repo->add(name, importedAttr); } ImportedAttributesRepo::UP build() { diff --git a/searchcore/src/tests/proton/attribute/attribute_test.cpp b/searchcore/src/tests/proton/attribute/attribute_test.cpp index cb1df2df0c5..6e8191e7d40 100644 --- a/searchcore/src/tests/proton/attribute/attribute_test.cpp +++ b/searchcore/src/tests/proton/attribute/attribute_test.cpp @@ -25,6 +25,7 @@ LOG_SETUP("attribute_test"); #include <vespa/searchlib/attribute/attributevector.hpp> #include <vespa/searchlib/attribute/bitvector_search_cache.h> #include <vespa/searchlib/attribute/imported_attribute_vector.h> +#include <vespa/searchlib/attribute/imported_attribute_vector_factory.h> #include <vespa/searchlib/attribute/integerbase.h> #include <vespa/searchlib/attribute/predicate_attribute.h> #include <vespa/searchlib/attribute/singlenumericattribute.hpp> @@ -58,6 +59,7 @@ using search::TuneFileAttributes; using search::attribute::BitVectorSearchCache; using search::attribute::IAttributeVector; using search::attribute::ImportedAttributeVector; +using search::attribute::ImportedAttributeVectorFactory; using search::attribute::ReferenceAttribute; using search::index::DummyFileHeaderContext; using search::index::schema::CollectionType; @@ -744,11 +746,11 @@ TEST_F("require that attribute writer spreads write over 3 write contexts", Fixt ImportedAttributeVector::SP createImportedAttribute(const vespalib::string &name) { - auto result = std::make_shared<ImportedAttributeVector>(name, - ReferenceAttribute::SP(), - AttributeVector::SP(), - std::shared_ptr<search::IDocumentMetaStoreContext>(), - true); + auto result = ImportedAttributeVectorFactory::create(name, + ReferenceAttribute::SP(), + AttributeVector::SP(), + std::shared_ptr<search::IDocumentMetaStoreContext>(), + true); result->getSearchCache()->insert("foo", BitVectorSearchCache::Entry::SP()); return result; } diff --git a/searchcore/src/tests/proton/attribute/imported_attributes_context/imported_attributes_context_test.cpp b/searchcore/src/tests/proton/attribute/imported_attributes_context/imported_attributes_context_test.cpp index aac74e1583d..1bee7a79192 100644 --- a/searchcore/src/tests/proton/attribute/imported_attributes_context/imported_attributes_context_test.cpp +++ b/searchcore/src/tests/proton/attribute/imported_attributes_context/imported_attributes_context_test.cpp @@ -8,6 +8,7 @@ LOG_SETUP("imported_attributes_context_test"); #include <vespa/searchlib/attribute/attribute.h> #include <vespa/searchlib/attribute/attributefactory.h> #include <vespa/searchlib/attribute/imported_attribute_vector.h> +#include <vespa/searchlib/attribute/imported_attribute_vector_factory.h> #include <vespa/searchlib/test/mock_gid_to_lid_mapping.h> #include <future> @@ -17,6 +18,7 @@ using search::attribute::BasicType; using search::attribute::Config; using search::attribute::IAttributeVector; using search::attribute::ImportedAttributeVector; +using search::attribute::ImportedAttributeVectorFactory; using search::attribute::ReferenceAttribute; using search::attribute::test::MockGidToLidMapperFactory; using generation_t = AttributeVector::generation_t; @@ -72,11 +74,11 @@ struct Fixture { { } Fixture &addAttribute(const vespalib::string &name) { - auto attr = std::make_shared<ImportedAttributeVector>(name, - createReferenceAttribute(name + "_ref"), - createTargetAttribute(name + "_target"), - std::shared_ptr<search::IDocumentMetaStoreContext>(), - false); + auto attr = ImportedAttributeVectorFactory::create(name, + createReferenceAttribute(name + "_ref"), + createTargetAttribute(name + "_target"), + std::shared_ptr<search::IDocumentMetaStoreContext>(), + false); repo.add(name, attr); return *this; } diff --git a/searchcore/src/tests/proton/attribute/imported_attributes_repo/imported_attributes_repo_test.cpp b/searchcore/src/tests/proton/attribute/imported_attributes_repo/imported_attributes_repo_test.cpp index e23c308050b..ddabed210d8 100644 --- a/searchcore/src/tests/proton/attribute/imported_attributes_repo/imported_attributes_repo_test.cpp +++ b/searchcore/src/tests/proton/attribute/imported_attributes_repo/imported_attributes_repo_test.cpp @@ -7,6 +7,7 @@ LOG_SETUP("imported_attributes_repo_test"); #include <vespa/searchcommon/attribute/iattributevector.h> #include <vespa/searchcore/proton/attribute/imported_attributes_repo.h> #include <vespa/searchlib/attribute/imported_attribute_vector.h> +#include <vespa/searchlib/attribute/imported_attribute_vector_factory.h> #include <vespa/searchlib/attribute/reference_attribute.h> using proton::ImportedAttributesRepo; @@ -14,16 +15,17 @@ using search::AttributeVector; using search::attribute::BasicType; using search::attribute::Config; using search::attribute::ImportedAttributeVector; +using search::attribute::ImportedAttributeVectorFactory; using search::attribute::ReferenceAttribute; ImportedAttributeVector::SP createAttr(const vespalib::string &name) { - return std::make_shared<ImportedAttributeVector>(name, - ReferenceAttribute::SP(), - AttributeVector::SP(), - std::shared_ptr<search::IDocumentMetaStoreContext>(), - false); + return ImportedAttributeVectorFactory::create(name, + ReferenceAttribute::SP(), + AttributeVector::SP(), + std::shared_ptr<search::IDocumentMetaStoreContext>(), + false); } struct Fixture { diff --git a/searchcore/src/vespa/searchcore/proton/reference/document_db_reference_resolver.cpp b/searchcore/src/vespa/searchcore/proton/reference/document_db_reference_resolver.cpp index 9abe8181282..9be0eb2c728 100644 --- a/searchcore/src/vespa/searchcore/proton/reference/document_db_reference_resolver.cpp +++ b/searchcore/src/vespa/searchcore/proton/reference/document_db_reference_resolver.cpp @@ -9,6 +9,7 @@ #include <vespa/searchcommon/attribute/iattributevector.h> #include <vespa/searchlib/attribute/iattributemanager.h> #include <vespa/searchlib/attribute/imported_attribute_vector.h> +#include <vespa/searchlib/attribute/imported_attribute_vector_factory.h> #include <vespa/searchlib/attribute/reference_attribute.h> #include <vespa/config-imported-fields.h> #include <vespa/document/datatype/documenttype.h> @@ -22,7 +23,7 @@ using document::ReferenceDataType; using search::attribute::BasicType; using search::attribute::Config; using search::attribute::IAttributeVector; -using search::attribute::ImportedAttributeVector; +using search::attribute::ImportedAttributeVectorFactory; using search::attribute::ReferenceAttribute; using search::AttributeGuard; using search::AttributeVector; @@ -144,8 +145,7 @@ DocumentDBReferenceResolver::createImportedAttributesRepo(const IAttributeManage for (const auto &attr : _importedFieldsCfg.attribute) { ReferenceAttribute::SP refAttr = getReferenceAttribute(attr.referencefield, attrMgr); AttributeVector::SP targetAttr = getTargetDocumentDB(refAttr->getName())->getAttribute(attr.targetfield); - ImportedAttributeVector::SP importedAttr = - std::make_shared<ImportedAttributeVector>(attr.name, refAttr, targetAttr, documentMetaStore, useSearchCache); + auto importedAttr = ImportedAttributeVectorFactory::create(attr.name, refAttr, targetAttr, documentMetaStore, useSearchCache); result->add(importedAttr->getName(), importedAttr); } } |