diff options
author | Geir Storli <geirst@yahooinc.com> | 2024-01-22 13:45:32 +0000 |
---|---|---|
committer | Geir Storli <geirst@yahooinc.com> | 2024-01-22 13:45:32 +0000 |
commit | 704569423a2fab41ad063f8a1031549e01870e5f (patch) | |
tree | b14922a0f2a0553d5a7cbec08f14a6cc08b16301 /searchlib/src/tests/attribute/bitvector/bitvector_test.cpp | |
parent | b2ce20a49cb6da0bdbc990c4774fce1ab55cecd0 (diff) |
Support IDocidWithWeightPostingStore for more attribute data types.
This includes array types (in addition to weighted set) and all integer types.
This change also aligns the blueprint and iterator implementations used for WeightedSetTerm and InTerm,
making the performance of WeightedSetTerm more similar to InTerm.
In particular an attribute with "rank: filter" uses a more optimal search iterator for WeightedSetTerm.
Diffstat (limited to 'searchlib/src/tests/attribute/bitvector/bitvector_test.cpp')
-rw-r--r-- | searchlib/src/tests/attribute/bitvector/bitvector_test.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/searchlib/src/tests/attribute/bitvector/bitvector_test.cpp b/searchlib/src/tests/attribute/bitvector/bitvector_test.cpp index f612bdda87f..6e479e1d9db 100644 --- a/searchlib/src/tests/attribute/bitvector/bitvector_test.cpp +++ b/searchlib/src/tests/attribute/bitvector/bitvector_test.cpp @@ -430,7 +430,8 @@ BitVectorTest::test(BasicType bt, CollectionType ct, const vespalib::string &pre sc = getSearch<VectorType>(tv, filter); checkSearch(v, std::move(sc), 2, 1022, 205, !filter, true); const auto* dww = v->as_docid_with_weight_posting_store(); - if (dww != nullptr) { + if ((dww != nullptr) && (bt == BasicType::STRING)) { + // This way of doing lookup is only supported by string attributes. auto lres = dww->lookup(getSearchStr<VectorType>(), dww->get_dictionary_snapshot()); using DWSI = search::queryeval::DocidWithWeightSearchIterator; TermFieldMatchData md; |