diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/DataProductRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/DataProductRepository.java index 2c311d4f4f3..cee133d2ab1 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/DataProductRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/DataProductRepository.java @@ -43,6 +43,7 @@ public class DataProductRepository extends EntityRepository { dao, UPDATE_FIELDS, UPDATE_FIELDS); + supportsSearchIndex = true; } @Override diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/StoredProcedureRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/StoredProcedureRepository.java index caa9b77bef6..bc9fa2caba6 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/StoredProcedureRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/StoredProcedureRepository.java @@ -27,6 +27,7 @@ public class StoredProcedureRepository extends EntityRepository dao, PATCH_FIELDS, UPDATE_FIELDS); + supportsSearchIndex = true; } @Override diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/search/IndexUtil.java b/openmetadata-service/src/main/java/org/openmetadata/service/search/IndexUtil.java index 4edf11ae0ca..a06e237db73 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/search/IndexUtil.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/search/IndexUtil.java @@ -144,6 +144,10 @@ public class IndexUtil { return SearchIndexDefinition.ElasticSearchIndexType.SEARCH_SERVICE_SEARCH_INDEX; } else if (type.equalsIgnoreCase(Entity.DOMAIN)) { return SearchIndexDefinition.ElasticSearchIndexType.DOMAIN_SEARCH_INDEX; + } else if (type.equalsIgnoreCase(Entity.STORED_PROCEDURE)) { + return SearchIndexDefinition.ElasticSearchIndexType.STORED_PROCEDURE_SEARCH_INDEX; + } else if (type.equalsIgnoreCase(Entity.DATA_PRODUCT)) { + return SearchIndexDefinition.ElasticSearchIndexType.DATA_PRODUCTS_SEARCH_INDEX; } throw new EventPublisherException("Failed to find index doc for type " + type); } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchIndexDefinition.java b/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchIndexDefinition.java index faf6a0e9f9e..96b98eaea57 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchIndexDefinition.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchIndexDefinition.java @@ -57,6 +57,12 @@ public class SearchIndexDefinition { Entity.TEST_SUITE, "test_suite_search_index", "/elasticsearch/%s/test_suite_index_mapping.json"), CHART_INDEX_SEARCH_INDEX(Entity.CHART, "chart_search_index", "/elasticsearch/%s/chart_index_mapping.json"), + STORED_PROCEDURE_SEARCH_INDEX( + Entity.STORED_PROCEDURE, + "stored_procedure_search_index", + "/elasticsearch/%s/stored_procedure_index_mapping.json"), + DATA_PRODUCTS_SEARCH_INDEX( + Entity.DATA_PRODUCT, "data_products_search_index", "/elasticsearch/%s/data_products_index_mapping.json"), DASHBOARD_DATA_MODEL_SEARCH_INDEX( Entity.DASHBOARD_DATA_MODEL, diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchIndexFactory.java b/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchIndexFactory.java index 77ace714a6b..4aa72cb8bd7 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchIndexFactory.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchIndexFactory.java @@ -13,8 +13,10 @@ import org.openmetadata.schema.entity.data.GlossaryTerm; import org.openmetadata.schema.entity.data.MlModel; import org.openmetadata.schema.entity.data.Pipeline; import org.openmetadata.schema.entity.data.Query; +import org.openmetadata.schema.entity.data.StoredProcedure; import org.openmetadata.schema.entity.data.Table; import org.openmetadata.schema.entity.data.Topic; +import org.openmetadata.schema.entity.domains.DataProduct; import org.openmetadata.schema.entity.domains.Domain; import org.openmetadata.schema.entity.services.DashboardService; import org.openmetadata.schema.entity.services.DatabaseService; @@ -33,6 +35,7 @@ import org.openmetadata.service.search.indexes.ContainerIndex; import org.openmetadata.service.search.indexes.DashboardDataModelIndex; import org.openmetadata.service.search.indexes.DashboardIndex; import org.openmetadata.service.search.indexes.DashboardServiceIndex; +import org.openmetadata.service.search.indexes.DataProductIndex; import org.openmetadata.service.search.indexes.DatabaseIndex; import org.openmetadata.service.search.indexes.DatabaseSchemaIndex; import org.openmetadata.service.search.indexes.DatabaseServiceIndex; @@ -47,6 +50,7 @@ import org.openmetadata.service.search.indexes.PipelineServiceIndex; import org.openmetadata.service.search.indexes.QueryIndex; import org.openmetadata.service.search.indexes.SearchIndex; import org.openmetadata.service.search.indexes.SearchServiceIndex; +import org.openmetadata.service.search.indexes.StoredProcedureIndex; import org.openmetadata.service.search.indexes.TableIndex; import org.openmetadata.service.search.indexes.TagIndex; import org.openmetadata.service.search.indexes.TeamIndex; @@ -113,6 +117,10 @@ public class SearchIndexFactory { return new PipelineServiceIndex((PipelineService) entity); case Entity.DOMAIN: return new DomainIndex((Domain) entity); + case Entity.STORED_PROCEDURE: + return new StoredProcedureIndex((StoredProcedure) entity); + case Entity.DATA_PRODUCT: + return new DataProductIndex((DataProduct) entity); default: LOG.warn("Ignoring Entity Type {}", entityType); } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/DataProductIndex.java b/openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/DataProductIndex.java new file mode 100644 index 00000000000..b5adda8785e --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/DataProductIndex.java @@ -0,0 +1,24 @@ +package org.openmetadata.service.search.indexes; + +import java.util.List; +import java.util.Map; +import org.openmetadata.schema.entity.domains.DataProduct; +import org.openmetadata.service.search.SearchIndexUtils; +import org.openmetadata.service.util.JsonUtils; + +public class DataProductIndex implements ElasticSearchIndex { + + private static final List excludeFields = List.of("changeDescription"); + + final DataProduct dataProduct; + + public DataProductIndex(DataProduct dataProduct) { + this.dataProduct = dataProduct; + } + + public Map buildESDoc() { + Map doc = JsonUtils.getMap(dataProduct); + SearchIndexUtils.removeNonIndexableFields(doc, excludeFields); + return doc; + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/StoredProcedureIndex.java b/openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/StoredProcedureIndex.java new file mode 100644 index 00000000000..f535eceddac --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/StoredProcedureIndex.java @@ -0,0 +1,24 @@ +package org.openmetadata.service.search.indexes; + +import java.util.List; +import java.util.Map; +import org.openmetadata.schema.entity.data.StoredProcedure; +import org.openmetadata.service.search.SearchIndexUtils; +import org.openmetadata.service.util.JsonUtils; + +public class StoredProcedureIndex implements ElasticSearchIndex { + + private static final List excludeFields = List.of("changeDescription"); + + final StoredProcedure storedProcedure; + + public StoredProcedureIndex(StoredProcedure storedProcedure) { + this.storedProcedure = storedProcedure; + } + + public Map buildESDoc() { + Map doc = JsonUtils.getMap(storedProcedure); + SearchIndexUtils.removeNonIndexableFields(doc, excludeFields); + return doc; + } +} diff --git a/openmetadata-service/src/main/resources/elasticsearch/en/chart_Index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/en/chart_Index_mapping.json index 6bac1c28c42..d9715e7894c 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/en/chart_Index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/en/chart_Index_mapping.json @@ -102,6 +102,51 @@ "type": "text" }, "owner": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "normalizer": "lowercase_normalizer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } }, "followers": { "properties": { diff --git a/openmetadata-service/src/main/resources/elasticsearch/en/data_products_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/en/data_products_index_mapping.json new file mode 100644 index 00000000000..4f2f819a053 --- /dev/null +++ b/openmetadata-service/src/main/resources/elasticsearch/en/data_products_index_mapping.json @@ -0,0 +1,220 @@ +{ + "settings": { + "analysis": { + "normalizer": { + "lowercase_normalizer": { + "type": "custom", + "char_filter": [], + "filter": [ + "lowercase" + ] + } + }, + "analyzer": { + "om_analyzer": { + "tokenizer": "letter", + "filter": [ + "lowercase", + "om_stemmer" + ] + }, + "om_ngram": { + "tokenizer": "ngram", + "min_gram": 1, + "max_gram": 2, + "filter": [ + "lowercase" + ] + } + }, + "filter": { + "om_stemmer": { + "type": "stemmer", + "name": "english" + } + } + } + }, + "mappings": { + "properties": { + "id": { + "type": "text" + }, + "name": { + "type": "text", + "analyzer": "om_analyzer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + }, + "ngram": { + "type": "text", + "analyzer": "om_ngram" + } + } + }, + "fullyQualifiedName": { + "type": "keyword", + "normalizer": "lowercase_normalizer" + }, + "displayName": { + "type": "text", + "analyzer": "om_analyzer", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + }, + "ngram": { + "type": "text", + "analyzer": "om_ngram" + } + } + }, + "description": { + "type": "text", + "analyzer": "om_analyzer", + "fields": { + "ngram": { + "type": "text", + "analyzer": "om_ngram" + } + } + }, + "version": { + "type": "float" + }, + "updatedAt": { + "type": "date", + "format": "epoch_second" + }, + "updatedBy": { + "type": "text" + }, + "href": { + "type": "text" + }, + "owner": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "domain": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "assets": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + } + } + } +} \ No newline at end of file diff --git a/openmetadata-service/src/main/resources/elasticsearch/en/stored_procedure_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/en/stored_procedure_index_mapping.json index 9d90445923c..54718f72ffb 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/en/stored_procedure_index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/en/stored_procedure_index_mapping.json @@ -83,7 +83,14 @@ } }, "storedProcedureCode": { - "type": "keyword" + "properties": { + "language": { + "type": "text" + }, + "code": { + "type": "text" + } + } }, "version": { "type": "float" @@ -240,9 +247,7 @@ "type": "keyword" }, "deleted": { - "description": "When `true` indicates the entity has been soft deleted.", - "type": "boolean", - "default": false + "type": "text" }, "owner": { "properties": { @@ -294,7 +299,106 @@ "type": "keyword" }, "votes" : { - "type": "keyword" + "properties": { + "upVotes": { + "type": "long" + }, + "downVotes": { + "type": "long" + }, + "upVoters": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "downVoters": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + } + } }, "code": { "type": "keyword" diff --git a/openmetadata-service/src/main/resources/elasticsearch/jp/data_products_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/jp/data_products_index_mapping.json new file mode 100644 index 00000000000..5f3cc870a86 --- /dev/null +++ b/openmetadata-service/src/main/resources/elasticsearch/jp/data_products_index_mapping.json @@ -0,0 +1,230 @@ +{ + "settings": { + "analysis": { + "normalizer": { + "lowercase_normalizer": { + "type": "custom", + "char_filter": [], + "filter": [ + "lowercase" + ] + } + }, + "analyzer": { + "om_analyzer": { + "tokenizer": "letter", + "filter": [ + "lowercase", + "om_stemmer" + ] + }, + "om_analyzer_jp" : { + "tokenizer" : "kuromoji_tokenizer", + "type" : "custom", + "filter" : [ + "kuromoji_baseform", + "kuromoji_part_of_speech", + "kuromoji_number", + "kuromoji_stemmer" + ] + }, + "om_ngram": { + "tokenizer": "ngram", + "min_gram": 1, + "max_gram": 2, + "filter": [ + "lowercase" + ] + } + }, + "filter": { + "om_stemmer": { + "type": "stemmer", + "name": "english" + } + } + } + }, + "mappings": { + "properties": { + "id": { + "type": "text" + }, + "name": { + "type": "text", + "analyzer": "om_analyzer_jp", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + }, + "ngram": { + "type": "text", + "analyzer": "om_ngram" + } + } + }, + "fullyQualifiedName": { + "type": "keyword", + "normalizer": "lowercase_normalizer" + }, + "displayName": { + "type": "text", + "analyzer": "om_analyzer_jp", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + }, + "ngram": { + "type": "text", + "analyzer": "om_ngram" + } + } + }, + "description": { + "type": "text", + "analyzer": "om_analyzer_jp", + "fields": { + "ngram": { + "type": "text", + "analyzer": "om_ngram" + } + } + }, + "version": { + "type": "float" + }, + "updatedAt": { + "type": "date", + "format": "epoch_second" + }, + "updatedBy": { + "type": "text" + }, + "href": { + "type": "text" + }, + "owner": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "domain": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "assets": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + } + } + } +} \ No newline at end of file diff --git a/openmetadata-service/src/main/resources/elasticsearch/jp/stored_procedure_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/jp/stored_procedure_index_mapping.json index f9745fcf59f..933821663a9 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/jp/stored_procedure_index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/jp/stored_procedure_index_mapping.json @@ -86,7 +86,14 @@ } }, "storedProcedureCode": { - "type": "keyword" + "properties": { + "language": { + "type": "text" + }, + "code": { + "type": "text" + } + } }, "version": { "type": "float" @@ -243,9 +250,7 @@ "type": "keyword" }, "deleted": { - "description": "When `true` indicates the entity has been soft deleted.", - "type": "boolean", - "default": false + "type": "text" }, "owner": { "properties": { @@ -297,7 +302,106 @@ "type": "keyword" }, "votes" : { - "type": "keyword" + "properties": { + "upVotes": { + "type": "long" + }, + "downVotes": { + "type": "long" + }, + "upVoters": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "downVoters": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + } + } }, "code": { "type": "keyword" diff --git a/openmetadata-service/src/main/resources/elasticsearch/zh/data_products_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/zh/data_products_index_mapping.json new file mode 100644 index 00000000000..e09e1ae64bd --- /dev/null +++ b/openmetadata-service/src/main/resources/elasticsearch/zh/data_products_index_mapping.json @@ -0,0 +1,201 @@ +{ + "settings": { + "analysis": { + "normalizer": { + "lowercase_normalizer": { + "type": "custom", + "char_filter": [], + "filter": [ + "lowercase" + ] + } + }, + "analyzer": { + "om_analyzer": { + "tokenizer": "letter", + "filter": [ + "lowercase", + "om_stemmer" + ] + } + }, + "filter": { + "om_stemmer": { + "type": "stemmer", + "name": "english" + } + } + } + }, + "mappings": { + "properties": { + "id": { + "type": "text" + }, + "name": { + "type": "text", + "analyzer": "ik_max_word", + "search_analyzer": "ik_smart", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "keyword", + "normalizer": "lowercase_normalizer" + }, + "displayName": { + "type": "text", + "analyzer": "ik_max_word", + "search_analyzer": "ik_smart", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "description": { + "type": "text", + "analyzer": "ik_max_word", + "search_analyzer": "ik_smart" + }, + "version": { + "type": "float" + }, + "updatedAt": { + "type": "date", + "format": "epoch_second" + }, + "updatedBy": { + "type": "text" + }, + "href": { + "type": "text" + }, + "owner": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "text" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "domain": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "assets": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + } + } + } +} \ No newline at end of file diff --git a/openmetadata-service/src/main/resources/elasticsearch/zh/stored_procedure_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/zh/stored_procedure_index_mapping.json index 56b84147d6b..7b1223cf746 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/zh/stored_procedure_index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/zh/stored_procedure_index_mapping.json @@ -64,7 +64,14 @@ "search_analyzer": "ik_smart" }, "storedProcedureCode": { - "type": "keyword" + "properties": { + "language": { + "type": "text" + }, + "code": { + "type": "text" + } + } }, "version": { "type": "float" @@ -221,9 +228,7 @@ "type": "keyword" }, "deleted": { - "description": "When `true` indicates the entity has been soft deleted.", - "type": "boolean", - "default": false + "type": "text" }, "owner": { "properties": { @@ -275,7 +280,106 @@ "type": "keyword" }, "votes" : { - "type": "keyword" + "properties": { + "upVotes": { + "type": "long" + }, + "downVotes": { + "type": "long" + }, + "upVoters": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + }, + "downVoters": { + "properties": { + "id": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 36 + } + } + }, + "type": { + "type": "keyword" + }, + "name": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "displayName": { + "type": "keyword", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "fullyQualifiedName": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "deleted": { + "type": "text" + }, + "href": { + "type": "text" + } + } + } + } }, "code": { "type": "keyword"