diff options
author | Tor Egge <Tor.Egge@online.no> | 2022-09-22 13:16:16 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2022-09-22 13:16:16 +0200 |
commit | 618e9cd7f9edebc86049ad61d0cc3c0493738260 (patch) | |
tree | f488dcc140806fbfaddf67c43b754568b4c54690 /searchlib/src/vespa | |
parent | 505b96257fda9084527d8bb9adbf2f2e7f20855c (diff) |
Remove summary fields from schema.
Diffstat (limited to 'searchlib/src/vespa')
4 files changed, 1 insertions, 171 deletions
diff --git a/searchlib/src/vespa/searchcommon/common/schema.cpp b/searchlib/src/vespa/searchcommon/common/schema.cpp index c6a2a4532a3..0cc9d3cb2d8 100644 --- a/searchlib/src/vespa/searchcommon/common/schema.cpp +++ b/searchlib/src/vespa/searchcommon/common/schema.cpp @@ -213,7 +213,6 @@ void Schema::writeToStream(vespalib::asciistream &os, bool saveToDisk) const { writeFields(os, "attributefield", _attributeFields); - writeFields(os, "summaryfield", _summaryFields); writeFieldSets(os, "fieldset", _fieldSets); writeFields(os, "indexfield", _indexFields); if (!saveToDisk) { @@ -245,7 +244,6 @@ Schema::loadFromFile(const vespalib::string & fileName) } _indexFields = ConfigParser::parseArray<std::vector<IndexField>>("indexfield", lines); _attributeFields = ConfigParser::parseArray<std::vector<AttributeField>>("attributefield", lines); - _summaryFields = ConfigParser::parseArray<std::vector<SummaryField>>("summaryfield", lines); _fieldSets = ConfigParser::parseArray<std::vector<FieldSet>>("fieldset", lines); _importedAttributeFields.clear(); // NOTE: these are not persisted to disk _indexIds.clear(); @@ -256,10 +254,6 @@ Schema::loadFromFile(const vespalib::string & fileName) for (size_t i(0), m(_attributeFields.size()); i < m; i++) { _attributeIds[_attributeFields[i].getName()] = i; } - _summaryIds.clear(); - for (size_t i(0), m(_summaryFields.size()); i < m; i++) { - _summaryIds[_summaryFields[i].getName()] = i; - } _fieldSetIds.clear(); for (size_t i(0), m(_fieldSets.size()); i < m; i++) { _fieldSetIds[_fieldSets[i].getName()] = i; @@ -357,12 +351,6 @@ Schema::addAttributeField(const AttributeField &field) } Schema & -Schema::addSummaryField(const SummaryField &field) -{ - return addField(field, *this, _summaryFields, _summaryIds); -} - -Schema & Schema::addImportedAttributeField(const ImportedAttributeField &field) { return addField(field, *this, _importedAttributeFields, _importedAttributeIds); @@ -387,12 +375,6 @@ Schema::getAttributeFieldId(vespalib::stringref name) const } uint32_t -Schema::getSummaryFieldId(vespalib::stringref name) const -{ - return getFieldId(name, _summaryIds); -} - -uint32_t Schema::getFieldSetId(vespalib::stringref name) const { return getFieldId(name, _fieldSetIds); @@ -405,12 +387,6 @@ Schema::isIndexField(vespalib::stringref name) const } bool -Schema::isSummaryField(vespalib::stringref name) const -{ - return _summaryIds.find(name) != _summaryIds.end(); -} - -bool Schema::isAttributeField(vespalib::stringref name) const { return _attributeIds.find(name) != _attributeIds.end(); @@ -422,12 +398,10 @@ Schema::swap(Schema &rhs) { _indexFields.swap(rhs._indexFields); _attributeFields.swap(rhs._attributeFields); - _summaryFields.swap(rhs._summaryFields); _fieldSets.swap(rhs._fieldSets); _importedAttributeFields.swap(rhs._importedAttributeFields); _indexIds.swap(rhs._indexIds); _attributeIds.swap(rhs._attributeIds); - _summaryIds.swap(rhs._summaryIds); _fieldSetIds.swap(rhs._fieldSetIds); _importedAttributeIds.swap(rhs._importedAttributeIds); } @@ -437,12 +411,10 @@ Schema::clear() { _indexFields.clear(); _attributeFields.clear(); - _summaryFields.clear(); _fieldSets.clear(); _importedAttributeFields.clear(); _indexIds.clear(); _attributeIds.clear(); - _summaryIds.clear(); _fieldSetIds.clear(); _importedAttributeIds.clear(); } @@ -515,8 +487,6 @@ Schema::intersect(const Schema &lhs, const Schema &rhs) h.schema->_indexFields, h.schema->_indexIds); h.intersect(lhs._attributeFields, rhs._attributeFields, rhs._attributeIds, h.schema->_attributeFields, h.schema->_attributeIds); - h.intersect(lhs._summaryFields, rhs._summaryFields, rhs._summaryIds, - h.schema->_summaryFields, h.schema->_summaryIds); h.intersect(lhs._fieldSets, rhs._fieldSets, rhs._fieldSetIds, h.schema->_fieldSets, h.schema->_fieldSetIds); return std::move(h.schema); @@ -528,7 +498,6 @@ Schema::make_union(const Schema &lhs, const Schema &rhs) Schema::UP schema(new Schema(lhs)); addEntries(rhs._indexFields, schema->_indexFields, schema->_indexIds); addEntries(rhs._attributeFields, schema->_attributeFields, schema->_attributeIds); - addEntries(rhs._summaryFields, schema->_summaryFields, schema->_summaryIds); addEntries(rhs._fieldSets, schema->_fieldSets, schema->_fieldSetIds); return schema; } @@ -541,8 +510,6 @@ Schema::set_difference(const Schema &lhs, const Schema &rhs) schema->_indexFields, schema->_indexIds); difference(lhs._attributeFields, rhs._attributeIds, schema->_attributeFields, schema->_attributeIds); - difference(lhs._summaryFields, rhs._summaryIds, - schema->_summaryFields, schema->_summaryIds); difference(lhs._fieldSets, rhs._fieldSetIds, schema->_fieldSets, schema->_fieldSetIds); return schema; @@ -553,7 +520,6 @@ Schema::operator==(const Schema &rhs) const { return _indexFields == rhs._indexFields && _attributeFields == rhs._attributeFields && - _summaryFields == rhs._summaryFields && _fieldSets == rhs._fieldSets && _importedAttributeFields == rhs._importedAttributeFields; } @@ -563,7 +529,6 @@ Schema::operator!=(const Schema &rhs) const { return _indexFields != rhs._indexFields || _attributeFields != rhs._attributeFields || - _summaryFields != rhs._summaryFields || _fieldSets != rhs._fieldSets || _importedAttributeFields != rhs._importedAttributeFields; } @@ -573,7 +538,6 @@ Schema::empty() const { return _indexFields.empty() && _attributeFields.empty() && - _summaryFields.empty() && _fieldSets.empty() && _importedAttributeFields.empty(); } diff --git a/searchlib/src/vespa/searchcommon/common/schema.h b/searchlib/src/vespa/searchcommon/common/schema.h index 3a9bcbdd904..42291e04634 100644 --- a/searchlib/src/vespa/searchcommon/common/schema.h +++ b/searchlib/src/vespa/searchcommon/common/schema.h @@ -25,7 +25,7 @@ public: /** * A single field has a name, data type and collection - * type. Various aspects (index/attribute/summary) may have + * type. Various aspects (index/attribute) may have * limitations on what types are supported in the back-end. **/ class Field @@ -109,7 +109,6 @@ public: }; using AttributeField = Field; - using SummaryField = Field; using ImportedAttributeField = Field; /** @@ -154,13 +153,11 @@ public: private: std::vector<IndexField> _indexFields; std::vector<AttributeField> _attributeFields; - std::vector<SummaryField> _summaryFields; std::vector<FieldSet> _fieldSets; std::vector<ImportedAttributeField> _importedAttributeFields; using Name2IdMap = vespalib::hash_map<vespalib::string, uint32_t>; Name2IdMap _indexIds; Name2IdMap _attributeIds; - Name2IdMap _summaryIds; Name2IdMap _fieldSetIds; Name2IdMap _importedAttributeIds; @@ -218,14 +215,6 @@ public: addAttributeField(const AttributeField &field); /** - * Add a summary field to this schema - * - * @param field the field to add - **/ - Schema & - addSummaryField(const SummaryField &field); - - /** * Add a field set to this schema. * * @param collection the field set to add. @@ -250,13 +239,6 @@ public: uint32_t getNumAttributeFields() const { return _attributeFields.size(); } /** - * Obtain the number of summary fields in this schema. - * - * @return number of fields - **/ - uint32_t getNumSummaryFields() const { return _summaryFields.size(); } - - /** * Obtain the number of field sets in this schema. * * @return number of field sets. @@ -301,14 +283,6 @@ public: bool isIndexField(vespalib::stringref name) const; /** - * Check if a field is a summary field - * - * @return true if field is an summary field. - * @param name the name of the field. - **/ - bool isSummaryField(vespalib::stringref name) const; - - /** * Check if a field is a attribute field * * @return true if field is an attribute field. @@ -344,33 +318,6 @@ public: uint32_t getAttributeFieldId(vespalib::stringref name) const; /** - * Get information about a specific summary field using the given fieldId. - * - * @return the field - * @param idx an index in the range [0, size - 1] - **/ - const SummaryField & - getSummaryField(uint32_t fieldId) const - { - return _summaryFields[fieldId]; - } - - /** - * Returns const view of the summary fields. - */ - const std::vector<SummaryField> &getSummaryFields() const { - return _summaryFields; - } - - /** - * Get the field id for the summary field with the given name. - * - * @return the field id or UNKNOWN_FIELD_ID if not found. - * @param name the name of the field. - **/ - uint32_t getSummaryFieldId(vespalib::stringref name) const; - - /** * Get information about a specific field set * * @return the field set. diff --git a/searchlib/src/vespa/searchcommon/common/schemaconfigurer.cpp b/searchlib/src/vespa/searchcommon/common/schemaconfigurer.cpp index 8fbebe80b4b..fd23b699f01 100644 --- a/searchlib/src/vespa/searchcommon/common/schemaconfigurer.cpp +++ b/searchlib/src/vespa/searchcommon/common/schemaconfigurer.cpp @@ -103,37 +103,6 @@ convertCollectionType(const ConfigType &type) return CollectionType::SINGLE; } - -Schema::DataType -convertSummaryType(const vespalib::string &type) -{ - if (type == "byte") { - return DataType::INT8; - } else if (type == "short") { - return DataType::INT16; - } else if (type == "integer") { - return DataType::INT32; - } else if (type == "int64") { - return DataType::INT64; - } else if (type == "float") { - return DataType::FLOAT; - } else if (type == "double") { - return DataType::DOUBLE; - } else if (type == "string" || - type == "longstring" || - type == "xmlstring" || - type == "featuredata" || - type == "jsonstring") - { - return DataType::STRING; - } else if (type == "data" || - type == "longdata") - { - return DataType::RAW; - } - return DataType::RAW; -} - } void @@ -175,36 +144,6 @@ SchemaBuilder::build(const AttributesConfig &cfg, Schema &schema) void -SchemaBuilder::build(const SummaryConfig &cfg, Schema &schema) -{ - for (size_t i = 0; i < cfg.classes.size(); ++i) { - LOG(debug, "class with index %lu has id %d (default has id %d)", - i, cfg.classes[i].id, cfg.defaultsummaryid); - } - for (size_t i = 0; i < cfg.classes.size(); ++i) { - // use the default summary class that has all fields - if (cfg.classes[i].id == cfg.defaultsummaryid) { - for (size_t j = 0; j < cfg.classes[i].fields.size(); ++j) { - const SummaryConfig::Classes::Fields & f = - cfg.classes[i].fields[j]; - schema.addSummaryField(Schema::Field(f.name, - convertSummaryType(f.type))); - } - return; - } - } - if (cfg.classes.empty()) { - LOG(debug, - "No summary class configured that match the default summary id %d", - cfg.defaultsummaryid); - } else { - LOG(warning, - "No summary class configured that match the default summary id %d", - cfg.defaultsummaryid); - } -} - -void SchemaConfigurer::configure(const IndexschemaConfig &cfg) { SchemaBuilder::build(cfg, _schema); @@ -216,12 +155,6 @@ SchemaConfigurer::configure(const AttributesConfig &cfg) SchemaBuilder::build(cfg, _schema); } -void -SchemaConfigurer::configure(const SummaryConfig & cfg) -{ - SchemaBuilder::build(cfg, _schema); -} - SchemaConfigurer::SchemaConfigurer(Schema &schema, const vespalib::string &configId) : _schema(schema) { @@ -229,11 +162,8 @@ SchemaConfigurer::SchemaConfigurer(Schema &schema, const vespalib::string &confi indexSchemaSubscriber(*this, &SchemaConfigurer::configure); search::SubscriptionProxyNg<SchemaConfigurer, AttributesConfig> attributesSubscriber(*this, &SchemaConfigurer::configure); - search::SubscriptionProxyNg<SchemaConfigurer, SummaryConfig> - summarySubscriber(*this, &SchemaConfigurer::configure); indexSchemaSubscriber.subscribe(configId.c_str()); attributesSubscriber.subscribe(configId.c_str()); - summarySubscriber.subscribe(configId.c_str()); } } diff --git a/searchlib/src/vespa/searchcommon/common/schemaconfigurer.h b/searchlib/src/vespa/searchcommon/common/schemaconfigurer.h index 925aefcfa25..30deb01456c 100644 --- a/searchlib/src/vespa/searchcommon/common/schemaconfigurer.h +++ b/searchlib/src/vespa/searchcommon/common/schemaconfigurer.h @@ -7,7 +7,6 @@ namespace vespa::config::search::internal { class InternalIndexschemaType; class InternalAttributesType; - class InternalSummaryType; } namespace search::index { @@ -23,7 +22,6 @@ class SchemaBuilder public: using IndexschemaConfig = const vespa::config::search::internal::InternalIndexschemaType; using AttributesConfig = const vespa::config::search::internal::InternalAttributesType; - using SummaryConfig = const vespa::config::search::internal::InternalSummaryType; /** * Build from indexschema config. * @@ -36,13 +34,6 @@ public: * @param attributeCfg AttributesConfig to use **/ static void build(const AttributesConfig &cfg, Schema &schema); - /** - * Build from summary config. - * - * @param summaryCfg SummaryConfig to use - **/ - static void build(const SummaryConfig &cfg, Schema &schema); - }; class SchemaConfigurer @@ -50,11 +41,9 @@ class SchemaConfigurer private: using IndexschemaConfig = SchemaBuilder::IndexschemaConfig; using AttributesConfig = SchemaBuilder::AttributesConfig; - using SummaryConfig = SchemaBuilder::SummaryConfig; Schema & _schema; void configure(const IndexschemaConfig & cfg); void configure(const AttributesConfig & cfg); - void configure(const SummaryConfig & cfg); public: /** |