aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/vespa
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2022-09-22 13:16:16 +0200
committerTor Egge <Tor.Egge@online.no>2022-09-22 13:16:16 +0200
commit618e9cd7f9edebc86049ad61d0cc3c0493738260 (patch)
treef488dcc140806fbfaddf67c43b754568b4c54690 /searchlib/src/vespa
parent505b96257fda9084527d8bb9adbf2f2e7f20855c (diff)
Remove summary fields from schema.
Diffstat (limited to 'searchlib/src/vespa')
-rw-r--r--searchlib/src/vespa/searchcommon/common/schema.cpp36
-rw-r--r--searchlib/src/vespa/searchcommon/common/schema.h55
-rw-r--r--searchlib/src/vespa/searchcommon/common/schemaconfigurer.cpp70
-rw-r--r--searchlib/src/vespa/searchcommon/common/schemaconfigurer.h11
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:
/**