diff options
7 files changed, 41 insertions, 6 deletions
diff --git a/searchlib/src/vespa/searchlib/attribute/createarrayfastsearch.cpp b/searchlib/src/vespa/searchlib/attribute/createarrayfastsearch.cpp index 2a1ddee19f3..ba8cf763c6e 100644 --- a/searchlib/src/vespa/searchlib/attribute/createarrayfastsearch.cpp +++ b/searchlib/src/vespa/searchlib/attribute/createarrayfastsearch.cpp @@ -13,9 +13,8 @@ LOG_SETUP(".createarrayfastsearch"); #include "attributevector.hpp" #include "enumstore.hpp" #include "enumattribute.hpp" -#include "multinumericenumattribute.hpp" -#include "multinumericpostattribute.hpp" -#include "multistringpostattribute.hpp" +#include "multinumericpostattribute.h" +#include "multistringpostattribute.h" namespace search { diff --git a/searchlib/src/vespa/searchlib/attribute/createsetfastsearch.cpp b/searchlib/src/vespa/searchlib/attribute/createsetfastsearch.cpp index d706a9c207c..457aeb4c31f 100644 --- a/searchlib/src/vespa/searchlib/attribute/createsetfastsearch.cpp +++ b/searchlib/src/vespa/searchlib/attribute/createsetfastsearch.cpp @@ -11,9 +11,8 @@ LOG_SETUP(".createsetfastsearch"); #include "attributevector.hpp" #include "enumstore.hpp" #include "enumattribute.hpp" -#include "multinumericenumattribute.hpp" -#include "multinumericpostattribute.hpp" -#include "multistringpostattribute.hpp" +#include "multinumericpostattribute.h" +#include "multistringpostattribute.h" namespace search { diff --git a/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.cpp b/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.cpp index 3626fcd4bd3..2a1a96d15a9 100644 --- a/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.cpp +++ b/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.cpp @@ -1,11 +1,27 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #include "multinumericenumattribute.hpp" +#include "enumattribute.h" +#include "floatbase.h" +#include "integerbase.h" #include <vespa/log/log.h> LOG_SETUP(".searchlib.attribute.multi_numeric_enum_attribute"); namespace search { +template class MultiValueNumericEnumAttribute<EnumAttribute<IntegerAttributeTemplate<int8_t>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericEnumAttribute<EnumAttribute<IntegerAttributeTemplate<int16_t>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericEnumAttribute<EnumAttribute<IntegerAttributeTemplate<int32_t>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericEnumAttribute<EnumAttribute<IntegerAttributeTemplate<int64_t>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericEnumAttribute<EnumAttribute<FloatingPointAttributeTemplate<float>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericEnumAttribute<EnumAttribute<FloatingPointAttributeTemplate<double>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericEnumAttribute<EnumAttribute<IntegerAttributeTemplate<int8_t>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; +template class MultiValueNumericEnumAttribute<EnumAttribute<IntegerAttributeTemplate<int16_t>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; +template class MultiValueNumericEnumAttribute<EnumAttribute<IntegerAttributeTemplate<int32_t>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; +template class MultiValueNumericEnumAttribute<EnumAttribute<IntegerAttributeTemplate<int64_t>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; +template class MultiValueNumericEnumAttribute<EnumAttribute<FloatingPointAttributeTemplate<float>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; +template class MultiValueNumericEnumAttribute<EnumAttribute<FloatingPointAttributeTemplate<double>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; + } // namespace search diff --git a/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.hpp b/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.hpp index 9a37677801e..edfea23f48d 100644 --- a/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.hpp +++ b/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.hpp @@ -10,6 +10,7 @@ #include "multi_numeric_enum_search_context.h" #include <vespa/searchlib/query/query_term_simple.h> #include <vespa/searchlib/util/fileutil.hpp> +#include <vespa/vespalib/util/array.hpp> #include <vespa/vespalib/util/stash.h> namespace search { diff --git a/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.cpp b/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.cpp index e60fddddac6..abae1cb6f76 100644 --- a/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.cpp +++ b/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.cpp @@ -1,8 +1,24 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #include "multinumericpostattribute.hpp" +#include "enumattribute.h" +#include "floatbase.h" +#include "integerbase.h" namespace search { +template class MultiValueNumericPostingAttribute<EnumAttribute<IntegerAttributeTemplate<int8_t>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericPostingAttribute<EnumAttribute<IntegerAttributeTemplate<int16_t>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericPostingAttribute<EnumAttribute<IntegerAttributeTemplate<int32_t>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericPostingAttribute<EnumAttribute<IntegerAttributeTemplate<int64_t>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericPostingAttribute<EnumAttribute<FloatingPointAttributeTemplate<float>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericPostingAttribute<EnumAttribute<FloatingPointAttributeTemplate<double>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericPostingAttribute<EnumAttribute<IntegerAttributeTemplate<int8_t>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; +template class MultiValueNumericPostingAttribute<EnumAttribute<IntegerAttributeTemplate<int16_t>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; +template class MultiValueNumericPostingAttribute<EnumAttribute<IntegerAttributeTemplate<int32_t>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; +template class MultiValueNumericPostingAttribute<EnumAttribute<IntegerAttributeTemplate<int64_t>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; +template class MultiValueNumericPostingAttribute<EnumAttribute<FloatingPointAttributeTemplate<float>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; +template class MultiValueNumericPostingAttribute<EnumAttribute<FloatingPointAttributeTemplate<double>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; + } // namespace search diff --git a/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.hpp b/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.hpp index deee72dcf39..ea449300aef 100644 --- a/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.hpp +++ b/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.hpp @@ -4,6 +4,7 @@ #include "multinumericpostattribute.h" #include "multi_numeric_enum_search_context.h" +#include <vespa/searchcommon/attribute/config.h> #include <charconv> namespace search { diff --git a/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.cpp b/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.cpp index 7f2621d60f3..4d2823997cd 100644 --- a/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.cpp +++ b/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.cpp @@ -13,5 +13,8 @@ StringEnumIndexMapper::map(IEnumStore::Index original) const return _dictionary.remap_index(original); } +template class MultiValueStringPostingAttributeT<EnumAttribute<StringAttribute>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueStringPostingAttributeT<EnumAttribute<StringAttribute>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; + } // namespace search |