summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-03-11 13:49:34 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2021-03-11 13:49:34 +0000
commit74ef65ff61055228352e22088f55fac7638f76b5 (patch)
tree5af1bd62f187b93231afa4b7044bb8ce4c49147c /searchlib
parentcb3f517a6d0e6aeb4433552cbb9d2c0b6c3c935c (diff)
Add dictionary config
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/attribute/configconverter.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/searchlib/src/vespa/searchlib/attribute/configconverter.cpp b/searchlib/src/vespa/searchlib/attribute/configconverter.cpp
index 991f1f03ee7..145a021801d 100644
--- a/searchlib/src/vespa/searchlib/attribute/configconverter.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/configconverter.cpp
@@ -50,6 +50,22 @@ getCollectionTypeMap()
static DataTypeMap _dataTypeMap = getDataTypeMap();
static CollectionTypeMap _collectionTypeMap = getCollectionTypeMap();
+DictionaryConfig::Ordering
+convert(AttributesConfig::Attribute::Dictionary::Ordering ordering_cfg) {
+ switch (ordering_cfg) {
+ case AttributesConfig::Attribute::Dictionary::Ordering::ORDERED:
+ return DictionaryConfig::Ordering::ORDERED;
+ case AttributesConfig::Attribute::Dictionary::Ordering::UNORDERED:
+ return DictionaryConfig::Ordering::UNORDERED;
+ }
+ assert(false);
+}
+
+DictionaryConfig
+convert_dictionary(const AttributesConfig::Attribute::Dictionary & dictionary) {
+ return DictionaryConfig(convert(dictionary.ordering));
+}
+
}
namespace search::attribute {
@@ -74,6 +90,7 @@ ConfigConverter::convert(const AttributesConfig::Attribute & cfg)
predicateParams.setBounds(cfg.lowerbound, cfg.upperbound);
predicateParams.setDensePostingListThreshold(cfg.densepostinglistthreshold);
retval.setPredicateParams(predicateParams);
+ retval.set_dictionary_config(convert_dictionary(cfg.dictionary));
using CfgDm = AttributesConfig::Attribute::Distancemetric;
DistanceMetric dm(DistanceMetric::Euclidean);
switch (cfg.distancemetric) {