diff options
author | Tor Egge <Tor.Egge@online.no> | 2021-04-08 15:27:10 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2021-04-08 15:28:09 +0200 |
commit | 3cee885280e5a51f98580c3f484c7c54d3cbe9ef (patch) | |
tree | e2fdaf5231aa46d9271ae794e1bcadae8d0f16ab /searchlib | |
parent | 39430e4e809cb2993a371df38fcac3bb0c798200 (diff) |
If unique values can be unsorted then any enum value change is
considered to be a folded change (separate posting list).
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/src/vespa/searchlib/attribute/enum_store_loaders.cpp | 5 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/attribute/enum_store_loaders.h | 1 |
2 files changed, 4 insertions, 2 deletions
diff --git a/searchlib/src/vespa/searchlib/attribute/enum_store_loaders.cpp b/searchlib/src/vespa/searchlib/attribute/enum_store_loaders.cpp index 56cca654b96..0e8aa6ee5a8 100644 --- a/searchlib/src/vespa/searchlib/attribute/enum_store_loaders.cpp +++ b/searchlib/src/vespa/searchlib/attribute/enum_store_loaders.cpp @@ -96,7 +96,8 @@ EnumeratedLoader::build_dictionary() EnumeratedPostingsLoader::EnumeratedPostingsLoader(IEnumStore& store) : EnumeratedLoaderBase(store), _loaded_enums(), - _posting_indexes() + _posting_indexes(), + _has_btree_dictionary(_store.get_dictionary().get_has_btree_dictionary()) { } @@ -105,7 +106,7 @@ EnumeratedPostingsLoader::~EnumeratedPostingsLoader() = default; bool EnumeratedPostingsLoader::is_folded_change(Index lhs, Index rhs) const { - return _store.is_folded_change(lhs, rhs); + return !_has_btree_dictionary || _store.is_folded_change(lhs, rhs); } void diff --git a/searchlib/src/vespa/searchlib/attribute/enum_store_loaders.h b/searchlib/src/vespa/searchlib/attribute/enum_store_loaders.h index 4fa63646ed3..e9e6810cb91 100644 --- a/searchlib/src/vespa/searchlib/attribute/enum_store_loaders.h +++ b/searchlib/src/vespa/searchlib/attribute/enum_store_loaders.h @@ -54,6 +54,7 @@ class EnumeratedPostingsLoader : public EnumeratedLoaderBase { private: attribute::LoadedEnumAttributeVector _loaded_enums; vespalib::Array<uint32_t> _posting_indexes; + bool _has_btree_dictionary; public: EnumeratedPostingsLoader(IEnumStore& store); |