From a51187d46b68715fda12ef396a4b423c5bf1509f Mon Sep 17 00:00:00 2001 From: Pere Miquel Brull Date: Fri, 6 Jun 2025 14:10:25 +0200 Subject: [PATCH] FIX CL-1641 - Allow to search by descriptionSources (#21487) * FIX CL-1641 - Allow to search by descriptionSources * Add new fields for advanced search filters * feat: added createdBy params * Move the tag label type options to constants * Add tier & tag source --------- Co-authored-by: Aniket Katkar Co-authored-by: Teddy Crepineau Co-authored-by: ulixius9 --- .../DataInsightsEntityEnricherProcessor.java | 136 +---------------- .../service/jdbi3/ListFilter.java | 11 ++ .../resources/dqtests/TestCaseResource.java | 18 ++- .../service/search/SearchIndexUtils.java | 142 ++++++++++++++++++ .../service/search/SearchListFilter.java | 9 ++ .../service/search/indexes/SearchIndex.java | 10 ++ .../en/api_collection_index_mapping.json | 9 ++ .../en/api_endpoint_index_mapping.json | 9 ++ .../elasticsearch/en/chart_index_mapping.json | 9 ++ .../en/classification_index_mapping.json | 9 ++ .../en/container_index_mapping.json | 9 ++ .../dashboard_data_model_index_mapping.json | 9 ++ .../en/dashboard_index_mapping.json | 9 ++ .../en/database_index_mapping.json | 9 ++ .../en/database_schema_index_mapping.json | 9 ++ .../en/domain_index_mapping.json | 9 ++ .../en/glossary_term_index_mapping.json | 9 ++ .../en/ingestion_pipeline_index_mapping.json | 9 ++ .../en/metric_index_mapping.json | 9 ++ .../en/mlmodel_index_mapping.json | 9 ++ .../en/pipeline_index_mapping.json | 9 ++ .../en/search_entity_index_mapping.json | 9 ++ .../en/stored_procedure_index_mapping.json | 9 ++ .../elasticsearch/en/table_index_mapping.json | 9 ++ .../elasticsearch/en/topic_index_mapping.json | 9 ++ .../dqtests/TestCaseResourceTest.java | 62 ++++++++ .../src/constants/AdvancedSearch.constants.ts | 11 ++ .../ui/src/enums/AdvancedSearch.enum.ts | 2 + .../ui/src/locale/languages/de-de.json | 6 + .../ui/src/locale/languages/en-us.json | 6 + .../ui/src/locale/languages/es-es.json | 6 + .../ui/src/locale/languages/fr-fr.json | 6 + .../ui/src/locale/languages/gl-es.json | 6 + .../ui/src/locale/languages/he-he.json | 6 + .../ui/src/locale/languages/ja-jp.json | 6 + .../ui/src/locale/languages/ko-kr.json | 6 + .../ui/src/locale/languages/mr-in.json | 6 + .../ui/src/locale/languages/nl-nl.json | 6 + .../ui/src/locale/languages/pr-pr.json | 6 + .../ui/src/locale/languages/pt-br.json | 6 + .../ui/src/locale/languages/pt-pt.json | 6 + .../ui/src/locale/languages/ru-ru.json | 6 + .../ui/src/locale/languages/th-th.json | 6 + .../ui/src/locale/languages/tr-tr.json | 6 + .../ui/src/locale/languages/zh-cn.json | 6 + .../src/utils/AdvancedSearchClassBase.test.ts | 2 + .../ui/src/utils/AdvancedSearchClassBase.ts | 18 +++ 47 files changed, 562 insertions(+), 132 deletions(-) diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/apps/bundles/insights/workflows/dataAssets/processors/DataInsightsEntityEnricherProcessor.java b/openmetadata-service/src/main/java/org/openmetadata/service/apps/bundles/insights/workflows/dataAssets/processors/DataInsightsEntityEnricherProcessor.java index fa37d9a7fb6..012449e08fd 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/apps/bundles/insights/workflows/dataAssets/processors/DataInsightsEntityEnricherProcessor.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/apps/bundles/insights/workflows/dataAssets/processors/DataInsightsEntityEnricherProcessor.java @@ -13,7 +13,6 @@ import java.util.List; import java.util.Map; import java.util.Optional; import java.util.Set; -import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.glassfish.jersey.internal.util.ExceptionUtils; import org.openmetadata.common.utils.CommonUtil; @@ -22,19 +21,16 @@ import org.openmetadata.schema.EntityInterface; import org.openmetadata.schema.entity.teams.User; import org.openmetadata.schema.system.IndexingError; import org.openmetadata.schema.system.StepStats; -import org.openmetadata.schema.type.ChangeDescription; -import org.openmetadata.schema.type.ChangeSummaryMap; -import org.openmetadata.schema.type.Column; import org.openmetadata.schema.type.EntityReference; import org.openmetadata.schema.type.Include; import org.openmetadata.schema.type.TagLabel; -import org.openmetadata.schema.type.change.ChangeSource; import org.openmetadata.schema.type.change.ChangeSummary; import org.openmetadata.service.Entity; import org.openmetadata.service.apps.bundles.insights.utils.TimestampUtils; import org.openmetadata.service.exception.EntityNotFoundException; import org.openmetadata.service.exception.SearchIndexException; import org.openmetadata.service.jdbi3.EntityRepository; +import org.openmetadata.service.search.SearchIndexUtils; import org.openmetadata.service.util.JsonUtils; import org.openmetadata.service.util.ResultList; import org.openmetadata.service.workflows.interfaces.Processor; @@ -152,11 +148,7 @@ public class DataInsightsEntityEnricherProcessor String entityType = (String) contextData.get(ENTITY_TYPE_KEY); - Map changeSummaryMap = - Optional.ofNullable(entity.getChangeDescription()) - .map(ChangeDescription::getChangeSummary) - .map(ChangeSummaryMap::getAdditionalProperties) - .orElse(null); + Map changeSummaryMap = SearchIndexUtils.getChangeSummaryMap(entity); // Enrich with EntityType if (CommonUtil.nullOrEmpty(entityType)) { @@ -171,10 +163,12 @@ public class DataInsightsEntityEnricherProcessor entityMap.put("endTimestamp", endTimestamp); // Process Description Source - entityMap.put("descriptionSources", processDescriptionSources(entity, changeSummaryMap)); + entityMap.put( + "descriptionSources", SearchIndexUtils.processDescriptionSources(entity, changeSummaryMap)); // Process Tag Source - TagAndTierSources tagAndTierSources = processTagAndTierSources(entity); + SearchIndexUtils.TagAndTierSources tagAndTierSources = + SearchIndexUtils.processTagAndTierSources(entity); entityMap.put("tagSources", tagAndTierSources.getTagSources()); entityMap.put("tierSources", tagAndTierSources.getTierSources()); @@ -187,7 +181,7 @@ public class DataInsightsEntityEnricherProcessor // Enrich with Description Stats entityMap.put("hasDescription", CommonUtil.nullOrEmpty(entity.getDescription()) ? 0 : 1); - if (hasColumns(entity)) { + if (SearchIndexUtils.hasColumns(entity)) { entityMap.put("numberOfColumns", ((ColumnsEntityInterface) entity).getColumns().size()); entityMap.put( "numberOfColumnsWithDescription", @@ -205,65 +199,6 @@ public class DataInsightsEntityEnricherProcessor return entityMap; } - private boolean hasColumns(EntityInterface entity) { - return List.of(entity.getClass().getInterfaces()).contains(ColumnsEntityInterface.class); - } - - private String getDescriptionSource( - String description, Map changeSummaryMap, String changeSummaryKey) { - if (description == null) { - return null; - } - - String descriptionSource = ChangeSource.INGESTED.value(); - - if (changeSummaryMap != null) { - if (changeSummaryMap.containsKey(changeSummaryKey) - && changeSummaryMap.get(changeSummaryKey).getChangeSource() != null) { - descriptionSource = changeSummaryMap.get(changeSummaryKey).getChangeSource().value(); - } - } - return descriptionSource; - } - - private void processDescriptionSource( - EntityInterface entity, - Map changeSummaryMap, - Map descriptionSources) { - Optional.ofNullable( - getDescriptionSource(entity.getDescription(), changeSummaryMap, "description")) - .ifPresent( - source -> - descriptionSources.put(source, descriptionSources.getOrDefault(source, 0) + 1)); - } - - private void processColumnDescriptionSources( - ColumnsEntityInterface entity, - Map changeSummaryMap, - Map descriptionSources) { - for (Column column : entity.getColumns()) { - Optional.ofNullable( - getDescriptionSource( - column.getDescription(), - changeSummaryMap, - String.format("columns.%s.description", column.getName()))) - .ifPresent( - source -> - descriptionSources.put(source, descriptionSources.getOrDefault(source, 0) + 1)); - } - } - - private Map processDescriptionSources( - EntityInterface entity, Map changeSummaryMap) { - Map descriptionSources = new HashMap<>(); - processDescriptionSource(entity, changeSummaryMap, descriptionSources); - if (hasColumns(entity)) { - processColumnDescriptionSources( - (ColumnsEntityInterface) entity, changeSummaryMap, descriptionSources); - } - return descriptionSources; - } - private String processTeam(EntityInterface entity) { String team = null; Optional> oEntityOwners = Optional.ofNullable(entity.getOwners()); @@ -303,52 +238,6 @@ public class DataInsightsEntityEnricherProcessor return team; } - private void processTagAndTierSources( - List tagList, TagAndTierSources tagAndTierSources) { - Optional.ofNullable(tagList) - .ifPresent( - tags -> { - tags.forEach( - tag -> { - String tagSource = tag.getLabelType().value(); - if (tag.getTagFQN().startsWith("Tier.")) { - tagAndTierSources - .getTierSources() - .put( - tagSource, - tagAndTierSources.getTierSources().getOrDefault(tagSource, 0) + 1); - } else { - tagAndTierSources - .getTagSources() - .put( - tagSource, - tagAndTierSources.getTagSources().getOrDefault(tagSource, 0) + 1); - } - }); - }); - } - - private void processEntityTagSources( - EntityInterface entity, TagAndTierSources tagAndTierSources) { - processTagAndTierSources(entity.getTags(), tagAndTierSources); - } - - private void processColumnTagSources( - ColumnsEntityInterface entity, TagAndTierSources tagAndTierSources) { - for (Column column : entity.getColumns()) { - processTagAndTierSources(column.getTags(), tagAndTierSources); - } - } - - private TagAndTierSources processTagAndTierSources(EntityInterface entity) { - TagAndTierSources tagAndTierSources = new TagAndTierSources(); - processEntityTagSources(entity, tagAndTierSources); - if (hasColumns(entity)) { - processColumnTagSources((ColumnsEntityInterface) entity, tagAndTierSources); - } - return tagAndTierSources; - } - private String processTier(EntityInterface entity) { String tier = null; @@ -412,15 +301,4 @@ public class DataInsightsEntityEnricherProcessor public StepStats getStats() { return stats; } - - @Getter - public static class TagAndTierSources { - private final Map tagSources; - private final Map tierSources; - - public TagAndTierSources() { - this.tagSources = new HashMap<>(); - this.tierSources = new HashMap<>(); - } - } } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/ListFilter.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/ListFilter.java index 866506f7f83..cffda6d09ea 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/ListFilter.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/ListFilter.java @@ -46,6 +46,7 @@ public class ListFilter extends Filter { conditions.add(getEntityFQNHashCondition()); conditions.add(getTestCaseResolutionStatusType()); conditions.add(getAssignee()); + conditions.add(getCreatedByCondition()); conditions.add(getEventSubscriptionAlertType()); conditions.add(getApiCollectionCondition(tableName)); conditions.add(getWorkflowDefinitionIdCondition()); @@ -80,6 +81,16 @@ public class ListFilter extends Filter { return assignee == null ? "" : String.format("assignee = '%s'", assignee); } + private String getCreatedByCondition() { + if (Boolean.TRUE.equals(DatasourceConfig.getInstance().isMySQL())) { + String createdBy = queryParams.get("createdBy"); + return createdBy == null ? "" : "json->>'$.createdBy' = :createdBy"; + } else { + String createdBy = queryParams.get("createdBy"); + return createdBy == null ? "" : "json#>'{createdBy}' = :createdBy"; + } + } + private String getWorkflowDefinitionIdCondition() { String workflowDefinitionId = queryParams.get("workflowDefinitionId"); return workflowDefinitionId == null diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/resources/dqtests/TestCaseResource.java b/openmetadata-service/src/main/java/org/openmetadata/service/resources/dqtests/TestCaseResource.java index 66d049bbbff..95b4deea1ff 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/resources/dqtests/TestCaseResource.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/resources/dqtests/TestCaseResource.java @@ -217,14 +217,20 @@ public class TestCaseResource extends EntityResource AI_BOTS = + List.of("collateaiapplicationbot", "collateaiqualityagentapplicationbot"); + private SearchIndexUtils() {} public static List parseFollowers(List followersRef) { @@ -286,4 +298,134 @@ public final class SearchIndexUtils { } return new SearchAggregation(root, aggregationsMetadata); } + + public static String getDescriptionSource( + String description, Map changeSummaryMap, String changeSummaryKey) { + if (description == null) { + return null; + } + + String descriptionSource = ChangeSource.INGESTED.value(); + + if (changeSummaryMap != null) { + if (changeSummaryMap.containsKey(changeSummaryKey) + && changeSummaryMap.get(changeSummaryKey).getChangeSource() != null) { + if (AI_BOTS.contains(changeSummaryMap.get(changeSummaryKey).getChangedBy())) { + // If bot is directly PATCHing and not suggesting, we need to still consider it's a + // suggested change + descriptionSource = ChangeSource.SUGGESTED.value(); + } else { + // Otherwise, use the change summary source + descriptionSource = changeSummaryMap.get(changeSummaryKey).getChangeSource().value(); + } + } + } + return descriptionSource; + } + + private static void processTagAndTierSources( + List tagList, TagAndTierSources tagAndTierSources) { + Optional.ofNullable(tagList) + .ifPresent( + tags -> { + tags.forEach( + tag -> { + String tagSource = tag.getLabelType().value(); + if (tag.getTagFQN().startsWith("Tier.")) { + tagAndTierSources + .getTierSources() + .put( + tagSource, + tagAndTierSources.getTierSources().getOrDefault(tagSource, 0) + 1); + } else { + tagAndTierSources + .getTagSources() + .put( + tagSource, + tagAndTierSources.getTagSources().getOrDefault(tagSource, 0) + 1); + } + }); + }); + } + + private static void processEntityTagSources( + EntityInterface entity, TagAndTierSources tagAndTierSources) { + processTagAndTierSources(entity.getTags(), tagAndTierSources); + } + + private static void processColumnTagSources( + ColumnsEntityInterface entity, TagAndTierSources tagAndTierSources) { + for (Column column : entity.getColumns()) { + processTagAndTierSources(column.getTags(), tagAndTierSources); + } + } + + public static TagAndTierSources processTagAndTierSources(EntityInterface entity) { + TagAndTierSources tagAndTierSources = new TagAndTierSources(); + processEntityTagSources(entity, tagAndTierSources); + if (SearchIndexUtils.hasColumns(entity)) { + processColumnTagSources((ColumnsEntityInterface) entity, tagAndTierSources); + } + return tagAndTierSources; + } + + public static void processDescriptionSource( + EntityInterface entity, + Map changeSummaryMap, + Map descriptionSources) { + Optional.ofNullable( + getDescriptionSource(entity.getDescription(), changeSummaryMap, "description")) + .ifPresent( + source -> + descriptionSources.put(source, descriptionSources.getOrDefault(source, 0) + 1)); + } + + public static void processColumnDescriptionSources( + ColumnsEntityInterface entity, + Map changeSummaryMap, + Map descriptionSources) { + for (Column column : entity.getColumns()) { + Optional.ofNullable( + getDescriptionSource( + column.getDescription(), + changeSummaryMap, + String.format("columns.%s.description", column.getName()))) + .ifPresent( + source -> + descriptionSources.put(source, descriptionSources.getOrDefault(source, 0) + 1)); + } + } + + public static boolean hasColumns(EntityInterface entity) { + return List.of(entity.getClass().getInterfaces()).contains(ColumnsEntityInterface.class); + } + + public static Map processDescriptionSources( + EntityInterface entity, Map changeSummaryMap) { + Map descriptionSources = new HashMap<>(); + processDescriptionSource(entity, changeSummaryMap, descriptionSources); + if (hasColumns(entity)) { + processColumnDescriptionSources( + (ColumnsEntityInterface) entity, changeSummaryMap, descriptionSources); + } + return descriptionSources; + } + + public static Map getChangeSummaryMap(EntityInterface entity) { + return Optional.ofNullable(entity.getChangeDescription()) + .map(ChangeDescription::getChangeSummary) + .map(ChangeSummaryMap::getAdditionalProperties) + .orElse(null); + } + + @Getter + public static class TagAndTierSources { + private final Map tagSources; + private final Map tierSources; + + public TagAndTierSources() { + this.tagSources = new HashMap<>(); + this.tierSources = new HashMap<>(); + } + } } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchListFilter.java b/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchListFilter.java index be8b447c1c7..3e385ce6f2c 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchListFilter.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchListFilter.java @@ -27,6 +27,7 @@ public class SearchListFilter extends Filter { conditions.add(getIncludeCondition(entityType)); conditions.add(getDomainCondition()); conditions.add(getOwnerCondition()); + conditions.add(getCreatedByCondition()); if (entityType != null) { conditions.add(entityType.equals(Entity.TEST_CASE) ? getTestCaseCondition() : null); @@ -122,6 +123,14 @@ public class SearchListFilter extends Filter { return ""; } + private String getCreatedByCondition() { + String createdBy = getQueryParam("createdBy"); + if (!nullOrEmpty(createdBy)) { + return String.format("{\"term\": {\"createdBy\": \"%s\"}}", escapeDoubleQuotes(createdBy)); + } + return ""; + } + private String buildQueryFilter(String conditionFilter, String sourceFilter) { String q = queryParams.get("q"); boolean isQEmpty = nullOrEmpty(q); diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/SearchIndex.java b/openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/SearchIndex.java index 5128059080a..4943bc29d96 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/SearchIndex.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/SearchIndex.java @@ -34,6 +34,7 @@ import org.openmetadata.schema.type.LineageDetails; import org.openmetadata.schema.type.Relationship; import org.openmetadata.schema.type.TableConstraint; import org.openmetadata.schema.type.TagLabel; +import org.openmetadata.schema.type.change.ChangeSummary; import org.openmetadata.service.Entity; import org.openmetadata.service.exception.EntityNotFoundException; import org.openmetadata.service.jdbi3.CollectionDAO; @@ -108,6 +109,15 @@ public interface SearchIndex { : Math.max(entity.getVotes().getUpVotes() - entity.getVotes().getDownVotes(), 0); map.put("totalVotes", totalVotes); map.put("descriptionStatus", getDescriptionStatus(entity)); + + Map changeSummaryMap = SearchIndexUtils.getChangeSummaryMap(entity); + map.put( + "descriptionSources", SearchIndexUtils.processDescriptionSources(entity, changeSummaryMap)); + SearchIndexUtils.TagAndTierSources tagAndTierSources = + SearchIndexUtils.processTagAndTierSources(entity); + map.put("tagSources", tagAndTierSources.getTagSources()); + map.put("tierSources", tagAndTierSources.getTierSources()); + map.put("fqnParts", getFQNParts(entity.getFullyQualifiedName())); map.put("deleted", entity.getDeleted() != null && entity.getDeleted()); TagLabel tierTag = new ParseTags(Entity.getEntityTags(entityType, entity)).getTierTag(); diff --git a/openmetadata-service/src/main/resources/elasticsearch/en/api_collection_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/en/api_collection_index_mapping.json index e4066f91d93..78c32109b44 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/en/api_collection_index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/en/api_collection_index_mapping.json @@ -420,6 +420,15 @@ "descriptionStatus": { "type": "keyword" }, + "descriptionSources": { + "type": "object" + }, + "tagSources": { + "type": "object" + }, + "tierSources": { + "type": "object" + }, "certification": { "type": "object", "properties": { diff --git a/openmetadata-service/src/main/resources/elasticsearch/en/api_endpoint_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/en/api_endpoint_index_mapping.json index 635dc6b4081..34f2b73159b 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/en/api_endpoint_index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/en/api_endpoint_index_mapping.json @@ -645,6 +645,15 @@ "descriptionStatus": { "type": "keyword" }, + "descriptionSources": { + "type": "object" + }, + "tagSources": { + "type": "object" + }, + "tierSources": { + "type": "object" + }, "certification": { "type": "object", "properties": { 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 da8658963fb..2407a7033cd 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 @@ -385,6 +385,15 @@ "descriptionStatus": { "type": "keyword" }, + "descriptionSources": { + "type": "object" + }, + "tagSources": { + "type": "object" + }, + "tierSources": { + "type": "object" + }, "dashboards": { "properties": { "id": { diff --git a/openmetadata-service/src/main/resources/elasticsearch/en/classification_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/en/classification_index_mapping.json index 41e1f1151e4..44dcbb95eb9 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/en/classification_index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/en/classification_index_mapping.json @@ -124,6 +124,15 @@ "descriptionStatus": { "type": "keyword" }, + "descriptionSources": { + "type": "object" + }, + "tagSources": { + "type": "object" + }, + "tierSources": { + "type": "object" + }, "domain" : { "properties": { "id": { diff --git a/openmetadata-service/src/main/resources/elasticsearch/en/container_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/en/container_index_mapping.json index f148905e9c1..640e41b08d5 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/en/container_index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/en/container_index_mapping.json @@ -585,6 +585,15 @@ "descriptionStatus": { "type": "keyword" }, + "descriptionSources": { + "type": "object" + }, + "tagSources": { + "type": "object" + }, + "tierSources": { + "type": "object" + }, "certification": { "type": "object", "properties": { diff --git a/openmetadata-service/src/main/resources/elasticsearch/en/dashboard_data_model_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/en/dashboard_data_model_index_mapping.json index 1ad1bc2284b..2a8693bbcf6 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/en/dashboard_data_model_index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/en/dashboard_data_model_index_mapping.json @@ -448,6 +448,15 @@ "descriptionStatus": { "type": "keyword" }, + "descriptionSources": { + "type": "object" + }, + "tagSources": { + "type": "object" + }, + "tierSources": { + "type": "object" + }, "certification": { "type": "object", "properties": { diff --git a/openmetadata-service/src/main/resources/elasticsearch/en/dashboard_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/en/dashboard_index_mapping.json index 1ef698e8768..93ab6eac34e 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/en/dashboard_index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/en/dashboard_index_mapping.json @@ -524,6 +524,15 @@ "descriptionStatus": { "type": "keyword" }, + "descriptionSources": { + "type": "object" + }, + "tagSources": { + "type": "object" + }, + "tierSources": { + "type": "object" + }, "certification": { "type": "object", "properties": { diff --git a/openmetadata-service/src/main/resources/elasticsearch/en/database_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/en/database_index_mapping.json index 20acfe42d9c..fa42e183dc0 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/en/database_index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/en/database_index_mapping.json @@ -495,6 +495,15 @@ "descriptionStatus": { "type": "keyword" }, + "descriptionSources": { + "type": "object" + }, + "tagSources": { + "type": "object" + }, + "tierSources": { + "type": "object" + }, "certification": { "type": "object", "properties": { diff --git a/openmetadata-service/src/main/resources/elasticsearch/en/database_schema_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/en/database_schema_index_mapping.json index 121d070b7e8..f99b24eceb3 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/en/database_schema_index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/en/database_schema_index_mapping.json @@ -460,6 +460,15 @@ "descriptionStatus": { "type": "keyword" }, + "descriptionSources": { + "type": "object" + }, + "tagSources": { + "type": "object" + }, + "tierSources": { + "type": "object" + }, "certification": { "type": "object", "properties": { diff --git a/openmetadata-service/src/main/resources/elasticsearch/en/domain_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/en/domain_index_mapping.json index f1d285498f6..b3f1f6c7d93 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/en/domain_index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/en/domain_index_mapping.json @@ -275,6 +275,15 @@ "descriptionStatus": { "type": "keyword" }, + "descriptionSources": { + "type": "object" + }, + "tagSources": { + "type": "object" + }, + "tierSources": { + "type": "object" + }, "extension": { "type": "object" } diff --git a/openmetadata-service/src/main/resources/elasticsearch/en/glossary_term_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/en/glossary_term_index_mapping.json index 418306ba472..534fa91fc60 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/en/glossary_term_index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/en/glossary_term_index_mapping.json @@ -446,6 +446,15 @@ "descriptionStatus": { "type": "keyword" }, + "descriptionSources": { + "type": "object" + }, + "tagSources": { + "type": "object" + }, + "tierSources": { + "type": "object" + }, "childrenCount": { "type": "integer" } diff --git a/openmetadata-service/src/main/resources/elasticsearch/en/ingestion_pipeline_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/en/ingestion_pipeline_index_mapping.json index 4ba82eb0a87..496f3b9c6d5 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/en/ingestion_pipeline_index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/en/ingestion_pipeline_index_mapping.json @@ -347,6 +347,15 @@ "descriptionStatus": { "type": "keyword" }, + "descriptionSources": { + "type": "object" + }, + "tagSources": { + "type": "object" + }, + "tierSources": { + "type": "object" + }, "applicationType": { "type": "keyword", "normalizer": "lowercase_normalizer" diff --git a/openmetadata-service/src/main/resources/elasticsearch/en/metric_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/en/metric_index_mapping.json index 8117018ea8c..f45a5ddf775 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/en/metric_index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/en/metric_index_mapping.json @@ -345,6 +345,15 @@ "descriptionStatus": { "type": "keyword" }, + "descriptionSources": { + "type": "object" + }, + "tagSources": { + "type": "object" + }, + "tierSources": { + "type": "object" + }, "certification": { "type": "object", "properties": { diff --git a/openmetadata-service/src/main/resources/elasticsearch/en/mlmodel_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/en/mlmodel_index_mapping.json index 7fdf00ce5b0..5b40c302a27 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/en/mlmodel_index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/en/mlmodel_index_mapping.json @@ -521,6 +521,15 @@ "descriptionStatus": { "type": "keyword" }, + "descriptionSources": { + "type": "object" + }, + "tagSources": { + "type": "object" + }, + "tierSources": { + "type": "object" + }, "certification": { "type": "object", "properties": { diff --git a/openmetadata-service/src/main/resources/elasticsearch/en/pipeline_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/en/pipeline_index_mapping.json index 8924400b6ae..9e29bedff3e 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/en/pipeline_index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/en/pipeline_index_mapping.json @@ -435,6 +435,15 @@ "descriptionStatus": { "type": "keyword" }, + "descriptionSources": { + "type": "object" + }, + "tagSources": { + "type": "object" + }, + "tierSources": { + "type": "object" + }, "certification": { "type": "object", "properties": { diff --git a/openmetadata-service/src/main/resources/elasticsearch/en/search_entity_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/en/search_entity_index_mapping.json index 56f9a74c6a3..f486a274bd2 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/en/search_entity_index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/en/search_entity_index_mapping.json @@ -477,6 +477,15 @@ "descriptionStatus": { "type": "keyword" }, + "descriptionSources": { + "type": "object" + }, + "tagSources": { + "type": "object" + }, + "tierSources": { + "type": "object" + }, "certification": { "type": "object", "properties": { 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 ccefc66aeaa..76f5e52ecb7 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 @@ -494,6 +494,15 @@ "descriptionStatus": { "type": "keyword" }, + "descriptionSources": { + "type": "object" + }, + "tagSources": { + "type": "object" + }, + "tierSources": { + "type": "object" + }, "certification": { "type": "object", "properties": { diff --git a/openmetadata-service/src/main/resources/elasticsearch/en/table_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/en/table_index_mapping.json index 17712c04dcb..3cf2c55f58e 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/en/table_index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/en/table_index_mapping.json @@ -650,6 +650,15 @@ "descriptionStatus": { "type": "keyword" }, + "descriptionSources": { + "type": "object" + }, + "tagSources": { + "type": "object" + }, + "tierSources": { + "type": "object" + }, "columnDescriptionStatus": { "type": "keyword" }, diff --git a/openmetadata-service/src/main/resources/elasticsearch/en/topic_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/en/topic_index_mapping.json index 77b56b7a9fb..e56a58c37bd 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/en/topic_index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/en/topic_index_mapping.json @@ -511,6 +511,15 @@ "descriptionStatus": { "type": "keyword" }, + "descriptionSources": { + "type": "object" + }, + "tagSources": { + "type": "object" + }, + "tierSources": { + "type": "object" + }, "certification": { "type": "object", "properties": { diff --git a/openmetadata-service/src/test/java/org/openmetadata/service/resources/dqtests/TestCaseResourceTest.java b/openmetadata-service/src/test/java/org/openmetadata/service/resources/dqtests/TestCaseResourceTest.java index 7fd0d14f795..a39bf17a07f 100644 --- a/openmetadata-service/src/test/java/org/openmetadata/service/resources/dqtests/TestCaseResourceTest.java +++ b/openmetadata-service/src/test/java/org/openmetadata/service/resources/dqtests/TestCaseResourceTest.java @@ -41,6 +41,8 @@ import static org.openmetadata.service.security.SecurityUtil.getPrincipalName; import static org.openmetadata.service.security.mask.PIIMasker.MASKED_VALUE; import static org.openmetadata.service.util.EntityUtil.fieldUpdated; import static org.openmetadata.service.util.TestUtils.ADMIN_AUTH_HEADERS; +import static org.openmetadata.service.util.TestUtils.INGESTION_BOT; +import static org.openmetadata.service.util.TestUtils.INGESTION_BOT_AUTH_HEADERS; import static org.openmetadata.service.util.TestUtils.TEST_AUTH_HEADERS; import static org.openmetadata.service.util.TestUtils.TEST_USER_NAME; import static org.openmetadata.service.util.TestUtils.UpdateType.MINOR_UPDATE; @@ -3822,4 +3824,64 @@ public class TestCaseResourceTest extends EntityResourceTest queryParams = new HashMap<>(); + queryParams.put("createdBy", ADMIN_USER_NAME); + ResultList adminTestCases = + listEntitiesFromSearch(queryParams, 10, 0, ADMIN_AUTH_HEADERS); + assertTrue( + adminTestCases.getData().stream() + .allMatch(tc -> tc.getCreatedBy().equals(ADMIN_USER_NAME)), + "Should find test case created by admin user"); + + // Test filtering by test user (by name) in search endpoint + queryParams.clear(); + queryParams.put("createdBy", INGESTION_BOT); + ResultList testUserTestCases = + listEntitiesFromSearch(queryParams, 10, 0, ADMIN_AUTH_HEADERS); + assertTrue( + testUserTestCases.getData().stream() + .allMatch(tc -> tc.getCreatedBy().equals(INGESTION_BOT)), + "Should find test case created by test user"); + + // Test with list endpoint (non-search) + Map listParams = new HashMap<>(); + listParams.put("createdBy", ADMIN_USER_NAME); + ResultList listResults = listEntities(listParams, ADMIN_AUTH_HEADERS); + assertTrue( + listResults.getData().stream().allMatch(tc -> tc.getCreatedBy().equals(ADMIN_USER_NAME)), + "List endpoint should also filter by createdBy"); + + // Test with list endpoint (non-search) + listParams.clear(); + listParams.put("createdBy", INGESTION_BOT); + listResults = listEntities(listParams, ADMIN_AUTH_HEADERS); + assertTrue( + listResults.getData().stream().allMatch(tc -> tc.getCreatedBy().equals(INGESTION_BOT)), + "List endpoint should also filter by createdBy"); + } + } } diff --git a/openmetadata-ui/src/main/resources/ui/src/constants/AdvancedSearch.constants.ts b/openmetadata-ui/src/main/resources/ui/src/constants/AdvancedSearch.constants.ts index e65b13669a6..ae490f51646 100644 --- a/openmetadata-ui/src/main/resources/ui/src/constants/AdvancedSearch.constants.ts +++ b/openmetadata-ui/src/main/resources/ui/src/constants/AdvancedSearch.constants.ts @@ -14,6 +14,7 @@ import { t } from 'i18next'; import { EntityFields } from '../enums/AdvancedSearch.enum'; import { SearchIndex } from '../enums/search.enum'; +import { LabelType } from '../generated/type/tagLabel'; export const COMMON_DROPDOWN_ITEMS = [ { @@ -303,6 +304,8 @@ export const RANGE_FIELD_OPERATORS = ['between', 'not_between']; export const LIST_VALUE_OPERATORS = ['select_equals', 'select_not_equals']; +export const NULL_CHECK_OPERATORS = ['is_null', 'is_not_null']; + export const MISC_FIELDS = ['owner.displayName', 'tags.tagFQN']; export const OWNER_QUICK_FILTER_DEFAULT_OPTIONS_KEY = 'displayName.keyword'; @@ -315,3 +318,11 @@ export const SEARCH_INDICES_WITH_COLUMNS_FIELD = [ SearchIndex.DATA_ASSET, SearchIndex.ALL, ]; + +export const TAG_LABEL_TYPE_LIST_VALUES = { + [LabelType.Manual]: t('label.manual'), + [LabelType.Derived]: t('label.derived'), + [LabelType.Propagated]: t('label.propagated'), + [LabelType.Automated]: t('label.automated'), + [LabelType.Generated]: t('label.generated'), +}; diff --git a/openmetadata-ui/src/main/resources/ui/src/enums/AdvancedSearch.enum.ts b/openmetadata-ui/src/main/resources/ui/src/enums/AdvancedSearch.enum.ts index dcf90dd38c2..69ab4cab69a 100644 --- a/openmetadata-ui/src/main/resources/ui/src/enums/AdvancedSearch.enum.ts +++ b/openmetadata-ui/src/main/resources/ui/src/enums/AdvancedSearch.enum.ts @@ -71,6 +71,8 @@ export enum EntityFields { REQUEST_SCHEMA_FIELD = 'requestSchema.schemaFields.name.keyword', RESPONSE_SCHEMA_FIELD = 'responseSchema.schemaFields.name.keyword', SERVICE_NAME = 'service.name.keyword', + SUGGESTED_DESCRIPTION = 'descriptionSources.Suggested', + TAGS_LABEL_TYPE = 'tags.labelType', } export const EntitySourceFields: Partial> = { diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json index 11bce8d369b..707f8910543 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json @@ -129,6 +129,7 @@ "auto-classification": "Automatische Klassifizierung", "auto-pii-confidence-score": "Auto PII-Vertrauensscore", "auto-tag-pii-uppercase": "Auto PII-Tag", + "automated": "Automatisiert", "automatically-generate": "Automatisch generieren", "average-daily-active-users-on-the-platform": "Durchschnittliche aktive Nutzer auf der Plattoform", "average-entity": "Durchschnittlicher {{entity}}", @@ -403,6 +404,7 @@ "deployed": "Bereitgestellt", "deployed-lowercase": "bereitgestellt", "deploying-lowercase": "am bereitstellen", + "derived": "Abgeleitet", "description": "Beschreibung", "description-kpi": "Beschreibung KPI", "description-lowercase": "beschreibung", @@ -612,6 +614,7 @@ "gcs-credential-value": "GCS-Anmeldeinformation-Wert", "generate": "Generieren", "generate-new-token": "Neuen Token generieren", + "generated": "Generiert", "generated-by": "Erstellt von", "get-app-support": "Get App Support", "global-setting-plural": "Globale Einstellungen", @@ -792,6 +795,7 @@ "manage-entity": "{{entity}} verwalten", "manage-rule": "Regeln verwalten", "mandatory": "Obligatorisch", + "manual": "Manuell", "many-to-many": "Many to Many", "many-to-one": "Many to One", "march": "März", @@ -1048,6 +1052,7 @@ "project": "Projekt", "project-id": "Projekt-ID", "project-lowercase": "projekt", + "propagated": "Weitergeleitet", "property": "Eigenschaft", "public-team": "Öffentliches Team", "quality": "Qualität", @@ -1355,6 +1360,7 @@ "tag": "Tag", "tag-boost-plural": "Tag-Boosts", "tag-category-lowercase": "Tag-Kategorie", + "tag-label-type": "Tag-Beschriftungstyp", "tag-lowercase": "tag", "tag-lowercase-plural": "tags", "tag-plural": "Tags", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json index ba0204c91ca..4858de2c5c8 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json @@ -129,6 +129,7 @@ "auto-classification": "Auto Classification", "auto-pii-confidence-score": "Auto PII Confidence Score", "auto-tag-pii-uppercase": "Auto Tag PII", + "automated": "Automated", "automatically-generate": "Automatically Generate", "average-daily-active-users-on-the-platform": "Average Daily Active Users on the Platform", "average-entity": "Avg. {{entity}}", @@ -403,6 +404,7 @@ "deployed": "Deployed", "deployed-lowercase": "deployed", "deploying-lowercase": "deploying", + "derived": "Derived", "description": "Description", "description-kpi": "Description KPI", "description-lowercase": "description", @@ -612,6 +614,7 @@ "gcs-credential-value": "GCS Credentials Values", "generate": "Generate", "generate-new-token": "Generate New Token", + "generated": "Generated", "generated-by": "Generated by", "get-app-support": "Get App Support", "global-setting-plural": "Global Settings", @@ -792,6 +795,7 @@ "manage-entity": "Manage {{entity}}", "manage-rule": "Manage Rule", "mandatory": "Mandatory", + "manual": "Manual", "many-to-many": "Many to Many", "many-to-one": "Many to One", "march": "March", @@ -1048,6 +1052,7 @@ "project": "Project", "project-id": "Project ID", "project-lowercase": "project", + "propagated": "Propagated", "property": "Property", "public-team": "Public Team", "quality": "Quality", @@ -1355,6 +1360,7 @@ "tag": "Tag", "tag-boost-plural": "Tag Boosts", "tag-category-lowercase": "tag category", + "tag-label-type": "Tag Label Type", "tag-lowercase": "tag", "tag-lowercase-plural": "tags", "tag-plural": "Tags", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json index e850c8e3176..13a4f4bbce2 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json @@ -129,6 +129,7 @@ "auto-classification": "Clasificación automática", "auto-pii-confidence-score": "Nivel de Confianza de Auto PII", "auto-tag-pii-uppercase": "Etiqueta de información personal identificable automática", + "automated": "Automatizado", "automatically-generate": "Generar automáticamente", "average-daily-active-users-on-the-platform": "Average Daily Active Users on the Platform", "average-entity": "Media {{entity}}", @@ -403,6 +404,7 @@ "deployed": "Desplegado", "deployed-lowercase": "deployed", "deploying-lowercase": "deploying", + "derived": "Derivado", "description": "Descripción", "description-kpi": "Description KPI", "description-lowercase": "descripción", @@ -612,6 +614,7 @@ "gcs-credential-value": "Valores de credenciales de GCS", "generate": "Generar", "generate-new-token": "Generar un nuevo token", + "generated": "Generado", "generated-by": "Generado por", "get-app-support": "Soporte para la aplicación", "global-setting-plural": "Configuración global", @@ -792,6 +795,7 @@ "manage-entity": "Administrar {{entity}}", "manage-rule": "Administrar regla", "mandatory": "Obligatorio", + "manual": "Manual", "many-to-many": "Many to Many", "many-to-one": "Many to One", "march": "Marzo", @@ -1048,6 +1052,7 @@ "project": "Proyecto", "project-id": "ID del proyecto", "project-lowercase": "proyecto", + "propagated": "Propagado", "property": "Propiedad", "public-team": "Equipo público", "quality": "Calidad", @@ -1355,6 +1360,7 @@ "tag": "Etiqueta", "tag-boost-plural": "Impulsos de etiquetas", "tag-category-lowercase": "categoría de etiqueta", + "tag-label-type": "Tipo de etiqueta", "tag-lowercase": "etiqueta", "tag-lowercase-plural": "etiquetas", "tag-plural": "Etiquetas", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json index 1be240cb3fd..b06aa7a2f8e 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json @@ -129,6 +129,7 @@ "auto-classification": "Classification Automatique", "auto-pii-confidence-score": "Score de Confiance Auto PII", "auto-tag-pii-uppercase": "Balise Auto PII", + "automated": "Automatique", "automatically-generate": "Générer Automatiquement", "average-daily-active-users-on-the-platform": "Average Daily Active Users on the Platform", "average-entity": "Moyenne {{entity}}", @@ -403,6 +404,7 @@ "deployed": "Déployé", "deployed-lowercase": "deployed", "deploying-lowercase": "deploying", + "derived": "Dérivé", "description": "Description", "description-kpi": "Description KPI", "description-lowercase": "description", @@ -612,6 +614,7 @@ "gcs-credential-value": "Valeur des Identifiants GCS", "generate": "Générer", "generate-new-token": "Générer un Nouveau Jeton", + "generated": "Généré", "generated-by": "Generated by", "get-app-support": "Get App Support", "global-setting-plural": "Paramètres globaux", @@ -792,6 +795,7 @@ "manage-entity": "Gérer {{entity}}", "manage-rule": "Gérer les Règles", "mandatory": "Obligatoire", + "manual": "Manuel", "many-to-many": "Many to Many", "many-to-one": "Many to One", "march": "Mars", @@ -1048,6 +1052,7 @@ "project": "Projet", "project-id": "ID du Projet", "project-lowercase": "projet", + "propagated": "Propagé", "property": "Propriété", "public-team": "Équipe Publique", "quality": "Qualité", @@ -1355,6 +1360,7 @@ "tag": "Tag", "tag-boost-plural": "Boosts de tags", "tag-category-lowercase": "catégorie de tag", + "tag-label-type": "Type de balise", "tag-lowercase": "tag", "tag-lowercase-plural": "tags", "tag-plural": "Tags", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json index 4d18eb3ca87..28b3990b342 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json @@ -129,6 +129,7 @@ "auto-classification": "auto clasificación", "auto-pii-confidence-score": "Puntuación de confianza automática de PII", "auto-tag-pii-uppercase": "Etiquetado automático de PII", + "automated": "Automático", "automatically-generate": "Xerar automaticamente", "average-daily-active-users-on-the-platform": "Media Usuarios Activos Diarios na Plataforma", "average-entity": "Media {{entity}}", @@ -403,6 +404,7 @@ "deployed": "Despregado", "deployed-lowercase": "despregado", "deploying-lowercase": "despregando", + "derived": "Derivado", "description": "Descrición", "description-kpi": "Descrición KPI", "description-lowercase": "descrición", @@ -612,6 +614,7 @@ "gcs-credential-value": "Valor das credenciais de GCS", "generate": "Xerar", "generate-new-token": "Xerar novo token", + "generated": "Xerado", "generated-by": "Xerado por", "get-app-support": "Obter soporte de aplicación", "global-setting-plural": "Configuración global", @@ -792,6 +795,7 @@ "manage-entity": "Xestionar {{entity}}", "manage-rule": "Xestionar regra", "mandatory": "Obrigatorio", + "manual": "Manual", "many-to-many": "Moitos a Moitos", "many-to-one": "Moitos a Un", "march": "Marzo", @@ -1048,6 +1052,7 @@ "project": "Proxecto", "project-id": "ID do proxecto", "project-lowercase": "proxecto", + "propagated": "Propagado", "property": "Propiedade", "public-team": "Equipo público", "quality": "Calidade", @@ -1355,6 +1360,7 @@ "tag": "Etiqueta", "tag-boost-plural": "Impulsos de etiquetas", "tag-category-lowercase": "categoría de etiqueta", + "tag-label-type": "Tipo de etiqueta", "tag-lowercase": "etiqueta", "tag-lowercase-plural": "etiquetas", "tag-plural": "Etiquetas", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json index ea65a136769..12c84e4d81a 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json @@ -129,6 +129,7 @@ "auto-classification": "סיווג אוטומטי", "auto-pii-confidence-score": "ציון ביטחון PII אוטומטי", "auto-tag-pii-uppercase": "תיוג PII אוטומטי", + "automated": "אוטומטי", "automatically-generate": "צור באופן אוטומטי", "average-daily-active-users-on-the-platform": "Average Daily Active Users on the Platform", "average-entity": "ממוצע {{entity}}", @@ -403,6 +404,7 @@ "deployed": "נפרס", "deployed-lowercase": "deployed", "deploying-lowercase": "deploying", + "derived": "מושך", "description": "תיאור", "description-kpi": "Description KPI", "description-lowercase": "תיאור", @@ -612,6 +614,7 @@ "gcs-credential-value": "ערכי אישור GCS", "generate": "צור", "generate-new-token": "צור טוקן חדש", + "generated": "מושך", "generated-by": "Generated by", "get-app-support": "קבל תמיכת אפליקציה", "global-setting-plural": "הגדרות גלובליות", @@ -792,6 +795,7 @@ "manage-entity": "נהל {{entity}}", "manage-rule": "נהל כלל", "mandatory": "חובה", + "manual": "ידני", "many-to-many": "Many to Many", "many-to-one": "Many to One", "march": "מרץ", @@ -1048,6 +1052,7 @@ "project": "פרויקט", "project-id": "מזהה הפרויקט", "project-lowercase": "פרויקט", + "propagated": "מושך", "property": "מאפיין", "public-team": "צוות ציבורי", "quality": "איכות", @@ -1355,6 +1360,7 @@ "tag": "תג", "tag-boost-plural": "הגברות תגיות", "tag-category-lowercase": "קטגוריית תג", + "tag-label-type": "סוג תגיות", "tag-lowercase": "תג", "tag-lowercase-plural": "תגיות", "tag-plural": "תגיות", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json index bf586b0ca72..644fd462fb3 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json @@ -129,6 +129,7 @@ "auto-classification": "自動分類", "auto-pii-confidence-score": "Auto PII Confidence Score", "auto-tag-pii-uppercase": "自動PIIタグ", + "automated": "自動", "automatically-generate": "自動生成", "average-daily-active-users-on-the-platform": "Average Daily Active Users on the Platform", "average-entity": "平均 {{entity}}", @@ -403,6 +404,7 @@ "deployed": "デプロイされた", "deployed-lowercase": "deployed", "deploying-lowercase": "deploying", + "derived": "派生", "description": "説明", "description-kpi": "Description KPI", "description-lowercase": "説明", @@ -612,6 +614,7 @@ "gcs-credential-value": "GCS Credentials Values", "generate": "生成", "generate-new-token": "新しいトークンを生成", + "generated": "生成", "generated-by": "Generated by", "get-app-support": "Get App Support", "global-setting-plural": "グローバル設定", @@ -792,6 +795,7 @@ "manage-entity": "{{entity}}の管理", "manage-rule": "ルールの管理", "mandatory": "Mandatory", + "manual": "手動", "many-to-many": "Many to Many", "many-to-one": "Many to One", "march": "3月", @@ -1048,6 +1052,7 @@ "project": "Project", "project-id": "プロジェクトID", "project-lowercase": "プロジェクト", + "propagated": "伝播", "property": "プロパティ", "public-team": "Public Team", "quality": "品質", @@ -1355,6 +1360,7 @@ "tag": "タグ", "tag-boost-plural": "タグブースト", "tag-category-lowercase": "タグのカテゴリ", + "tag-label-type": "タグラベルタイプ", "tag-lowercase": "タグ", "tag-lowercase-plural": "tags", "tag-plural": "タグ", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ko-kr.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ko-kr.json index 864356c7f9a..e9e179e86b3 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ko-kr.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ko-kr.json @@ -129,6 +129,7 @@ "auto-classification": "자동 분류", "auto-pii-confidence-score": "자동 PII 신뢰도 점수", "auto-tag-pii-uppercase": "PII 자동 태그", + "automated": "자동", "automatically-generate": "자동 생성", "average-daily-active-users-on-the-platform": "플랫폼의 일일 평균 활성 사용자 수", "average-entity": "평균 {{entity}}", @@ -403,6 +404,7 @@ "deployed": "배포됨", "deployed-lowercase": "배포됨", "deploying-lowercase": "배포 중", + "derived": "유도됨", "description": "설명", "description-kpi": "설명 KPI", "description-lowercase": "설명", @@ -612,6 +614,7 @@ "gcs-credential-value": "GCS 자격 증명 값", "generate": "생성", "generate-new-token": "새 토큰 생성", + "generated": "생성됨", "generated-by": "생성자", "get-app-support": "앱 지원 받기", "global-setting-plural": "전역 설정", @@ -792,6 +795,7 @@ "manage-entity": "{{entity}} 관리", "manage-rule": "규칙 관리", "mandatory": "필수", + "manual": "수동", "many-to-many": "다대다", "many-to-one": "다대일", "march": "3월", @@ -1048,6 +1052,7 @@ "project": "프로젝트", "project-id": "프로젝트 ID", "project-lowercase": "프로젝트", + "propagated": "전파됨", "property": "속성", "public-team": "공개 팀", "quality": "품질", @@ -1355,6 +1360,7 @@ "tag": "태그", "tag-boost-plural": "태그 부스트들", "tag-category-lowercase": "태그 카테고리", + "tag-label-type": "태그 라벨 유형", "tag-lowercase": "태그", "tag-lowercase-plural": "태그들", "tag-plural": "태그들", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/mr-in.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/mr-in.json index add0d2b0b68..9383827e889 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/mr-in.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/mr-in.json @@ -129,6 +129,7 @@ "auto-classification": "Auto Classification", "auto-pii-confidence-score": "ऑटो PII आत्मविश्वास स्कोअर", "auto-tag-pii-uppercase": "ऑटो टॅग PII", + "automated": "स्वयंचलित", "automatically-generate": "स्वयंचलितपणे व्युत्पन्न करा", "average-daily-active-users-on-the-platform": "प्लॅटफॉर्मवरील सरासरी दैनिक सक्रिय वापरकर्ते", "average-entity": "सरासरी {{entity}}", @@ -403,6 +404,7 @@ "deployed": "उपयोजित केले", "deployed-lowercase": "उपयोजित केले", "deploying-lowercase": "उपयोजित करत आहे", + "derived": "व्युत्पन्न", "description": "वर्णन", "description-kpi": "वर्णन KPI", "description-lowercase": "वर्णन", @@ -612,6 +614,7 @@ "gcs-credential-value": "जीसीएस क्रेडेन्शियल मूल्ये", "generate": "व्युत्पन्न करा", "generate-new-token": "नवीन टोकन व्युत्पन्न करा", + "generated": "उत्पन्न", "generated-by": "द्वारे व्युत्पन्न", "get-app-support": "ॲप समर्थन मिळवा", "global-setting-plural": "वैश्विक सेटिंग्ज", @@ -792,6 +795,7 @@ "manage-entity": "व्यवस्थापित करा {{entity}}", "manage-rule": "नियम व्यवस्थापित करा", "mandatory": "अनिवार्य", + "manual": "मॅन्युअल", "many-to-many": "अनेक ते अनेक", "many-to-one": "अनेक ते एक", "march": "मार्च", @@ -1048,6 +1052,7 @@ "project": "प्रकल्प", "project-id": "प्रकल्प आयडी", "project-lowercase": "प्रकल्प", + "propagated": "प्रसारित", "property": "गुणधर्म", "public-team": "सार्वजनिक टीम", "quality": "गुणवत्ता", @@ -1355,6 +1360,7 @@ "tag": "टॅग", "tag-boost-plural": "टॅग बूस्ट", "tag-category-lowercase": "टॅग श्रेणी", + "tag-label-type": "टॅग लेबल प्रकार", "tag-lowercase": "टॅग", "tag-lowercase-plural": "टॅग्ज", "tag-plural": "टॅग्ज", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json index 454d1a05ed7..d2ae9356143 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json @@ -129,6 +129,7 @@ "auto-classification": "Automatische classificatie", "auto-pii-confidence-score": "Automatische PII-vertrouwensscore", "auto-tag-pii-uppercase": "Automatisch taggen van PII", + "automated": "Automatisch", "automatically-generate": "Automatisch genereren", "average-daily-active-users-on-the-platform": "Average Daily Active Users on the Platform", "average-entity": "Gemiddeld {{entity}}", @@ -403,6 +404,7 @@ "deployed": "Gedeployed", "deployed-lowercase": "deployed", "deploying-lowercase": "deploying", + "derived": "Afgeleid", "description": "Beschrijving", "description-kpi": "Description KPI", "description-lowercase": "beschrijving", @@ -612,6 +614,7 @@ "gcs-credential-value": "Waarden van GCS-verificatiegegevens", "generate": "Genereren", "generate-new-token": "Nieuw token genereren", + "generated": "Gegenereerd", "generated-by": "Gegenereerd door", "get-app-support": "App-ondersteuning krijgen", "global-setting-plural": "Globale instellingen", @@ -792,6 +795,7 @@ "manage-entity": "Beheer {{entity}}", "manage-rule": "Beheer regel", "mandatory": "Verplicht", + "manual": "Handmatig", "many-to-many": "Many to Many", "many-to-one": "Many to One", "march": "maart", @@ -1048,6 +1052,7 @@ "project": "Project", "project-id": "Project-ID", "project-lowercase": "project", + "propagated": "Geëxtend", "property": "Eigenschap", "public-team": "Openbaar team", "quality": "Kwaliteit", @@ -1355,6 +1360,7 @@ "tag": "Tag", "tag-boost-plural": "Tag boosts", "tag-category-lowercase": "tagcategorie", + "tag-label-type": "Tag Label Soort", "tag-lowercase": "tag", "tag-lowercase-plural": "tags", "tag-plural": "Tags", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json index fe6f37101be..87f196d154c 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json @@ -129,6 +129,7 @@ "auto-classification": "طبقه‌بندی خودکار", "auto-pii-confidence-score": "امتیاز اعتماد PII خودکار", "auto-tag-pii-uppercase": "برچسب PII خودکار", + "automated": "خودکار", "automatically-generate": "تولید خودکار", "average-daily-active-users-on-the-platform": "Average Daily Active Users on the Platform", "average-entity": "متوسط {{entity}}", @@ -403,6 +404,7 @@ "deployed": "مستقر شد", "deployed-lowercase": "مستقر شد", "deploying-lowercase": "در حال استقرار", + "derived": "اشتقاقی", "description": "توضیحات", "description-kpi": "توضیحات KPI", "description-lowercase": "توضیحات", @@ -612,6 +614,7 @@ "gcs-credential-value": "مقادیر اعتبارنامه‌های GCS", "generate": "تولید", "generate-new-token": "تولید توکن جدید", + "generated": "تولید شده", "generated-by": "تولید شده توسط", "get-app-support": "دریافت پشتیبانی برنامه", "global-setting-plural": "تنظیمات سراسری", @@ -792,6 +795,7 @@ "manage-entity": "مدیریت {{entity}}", "manage-rule": "مدیریت قانون", "mandatory": "اجباری", + "manual": "مندرج", "many-to-many": "Many to Many", "many-to-one": "Many to One", "march": "مارس", @@ -1048,6 +1052,7 @@ "project": "پروژه", "project-id": "شناسه پروژه", "project-lowercase": "پروژه", + "propagated": "پراگت", "property": "ویژگی", "public-team": "تیم عمومی", "quality": "کیفیت", @@ -1355,6 +1360,7 @@ "tag": "برچسب", "tag-boost-plural": "تقویت برچسب‌ها", "tag-category-lowercase": "دسته‌بندی برچسب", + "tag-label-type": "نوع برچسب", "tag-lowercase": "برچسب", "tag-lowercase-plural": "برچسب‌ها", "tag-plural": "برچسب‌ها", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json index bea0120623b..9f8d9e21709 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json @@ -129,6 +129,7 @@ "auto-classification": "Classificação Automática", "auto-pii-confidence-score": "Pontuação de Confiança Automática PII", "auto-tag-pii-uppercase": "Tag automática de PII", + "automated": "Automático", "automatically-generate": "Gerar Automaticamente", "average-daily-active-users-on-the-platform": "Média de usuários ativos diários na plataforma", "average-entity": "Média {{entity}}", @@ -403,6 +404,7 @@ "deployed": "Implementado", "deployed-lowercase": "implantado", "deploying-lowercase": "implantando", + "derived": "Derivado", "description": "Descrição", "description-kpi": "Descrição KPI", "description-lowercase": "descrição", @@ -612,6 +614,7 @@ "gcs-credential-value": "Valores das Credenciais GCS", "generate": "Gerar", "generate-new-token": "Gerar Novo Token", + "generated": "Gerado", "generated-by": "Gerado por", "get-app-support": "Obter Suporte do Aplicativo", "global-setting-plural": "Configurações globais", @@ -792,6 +795,7 @@ "manage-entity": "Gerenciar {{entity}}", "manage-rule": "Gerenciar Regra", "mandatory": "Obrigatório", + "manual": "Manual", "many-to-many": "Muitos para muitos", "many-to-one": "Muitos para um", "march": "Março", @@ -1048,6 +1052,7 @@ "project": "Projeto", "project-id": "ID do Projeto", "project-lowercase": "projeto", + "propagated": "Propagado", "property": "Propriedade", "public-team": "Equipe Pública", "quality": "Qualidade", @@ -1355,6 +1360,7 @@ "tag": "Tag", "tag-boost-plural": "Impulsos de tags", "tag-category-lowercase": "categoria de tag", + "tag-label-type": "Tipo de rótulo de tag", "tag-lowercase": "tag", "tag-lowercase-plural": "tags", "tag-plural": "Tags", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json index d2581924195..200891aea6b 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json @@ -129,6 +129,7 @@ "auto-classification": "Classificação Automática", "auto-pii-confidence-score": "Pontuação de Confiança Automática PII", "auto-tag-pii-uppercase": "Etiqueta Automática PII", + "automated": "Automático", "automatically-generate": "Gerar Automaticamente", "average-daily-active-users-on-the-platform": "Average Daily Active Users on the Platform", "average-entity": "Média {{entity}}", @@ -403,6 +404,7 @@ "deployed": "Implementado", "deployed-lowercase": "deployed", "deploying-lowercase": "deploying", + "derived": "Derivado", "description": "Descrição", "description-kpi": "Description KPI", "description-lowercase": "descrição", @@ -612,6 +614,7 @@ "gcs-credential-value": "Valores das Credenciais GCS", "generate": "Gerar", "generate-new-token": "Gerar Novo Token", + "generated": "Gerado", "generated-by": "Generated by", "get-app-support": "Obter Suporte do Aplicativo", "global-setting-plural": "Definições globais", @@ -792,6 +795,7 @@ "manage-entity": "Gerenciar {{entity}}", "manage-rule": "Gerenciar Regra", "mandatory": "Obrigatório", + "manual": "Manual", "many-to-many": "Many to Many", "many-to-one": "Many to One", "march": "Março", @@ -1048,6 +1052,7 @@ "project": "Projeto", "project-id": "ID do Projeto", "project-lowercase": "projeto", + "propagated": "Propagado", "property": "Propriedade", "public-team": "Equipa Pública", "quality": "Qualidade", @@ -1355,6 +1360,7 @@ "tag": "Etiqueta", "tag-boost-plural": "Impulsos de etiquetas", "tag-category-lowercase": "categoria de tag", + "tag-label-type": "Tipo de rótulo de tag", "tag-lowercase": "tag", "tag-lowercase-plural": "tags", "tag-plural": "Etiquetas", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json index 8e29f18e210..7355d143fe8 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json @@ -129,6 +129,7 @@ "auto-classification": "Автоклассификация", "auto-pii-confidence-score": "Оценка достоверности Auto PII", "auto-tag-pii-uppercase": "Автотег PII", + "automated": "Автоматический", "automatically-generate": "Автоматически генерировать", "average-daily-active-users-on-the-platform": "Average Daily Active Users on the Platform", "average-entity": "Среднее {{entity}}", @@ -403,6 +404,7 @@ "deployed": "Развернуто", "deployed-lowercase": "deployed", "deploying-lowercase": "deploying", + "derived": "Производный", "description": "Описание", "description-kpi": "Description KPI", "description-lowercase": "описание", @@ -612,6 +614,7 @@ "gcs-credential-value": "Значения учетных данных GCS", "generate": "Сгенерировать", "generate-new-token": "Сгенерировать новый токен", + "generated": "Сгенерированный", "generated-by": "Generated by", "get-app-support": "Get App Support", "global-setting-plural": "Глобальные настройки", @@ -792,6 +795,7 @@ "manage-entity": "Управление {{entity}}", "manage-rule": "Правила управления", "mandatory": "Обязательный", + "manual": "Ручной", "many-to-many": "Many to Many", "many-to-one": "Many to One", "march": "Март", @@ -1048,6 +1052,7 @@ "project": "Проект", "project-id": "ID проекта", "project-lowercase": "проект", + "propagated": "Распространяется", "property": "Свойство", "public-team": "Открытая команда", "quality": "Качество", @@ -1355,6 +1360,7 @@ "tag": "Тег", "tag-boost-plural": "Усиления тегов", "tag-category-lowercase": "тег категории", + "tag-label-type": "Тип метки тега", "tag-lowercase": "тег", "tag-lowercase-plural": "теги", "tag-plural": "Теги", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json index 1e3de779537..f7454603419 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json @@ -129,6 +129,7 @@ "auto-classification": "การจำแนกประเภทอัตโนมัติ", "auto-pii-confidence-score": "คะแนนความมั่นใจ PII อัตโนมัติ", "auto-tag-pii-uppercase": "แท็ก PII อัตโนมัติ", + "automated": "อัตโนมัติ", "automatically-generate": "สร้างโดยอัตโนมัติ", "average-daily-active-users-on-the-platform": "Average Daily Active Users on the Platform", "average-entity": "ค่าเฉลี่ย {{entity}}", @@ -403,6 +404,7 @@ "deployed": "เรียกใช้แล้ว", "deployed-lowercase": "ถูกเรียกใช้", "deploying-lowercase": "กำลังเรียกใช้", + "derived": "ออกมาจาก", "description": "คำอธิบาย", "description-kpi": "คำอธิบาย KPI", "description-lowercase": "คำอธิบาย", @@ -612,6 +614,7 @@ "gcs-credential-value": "ค่าเครดิตเชียล GCS", "generate": "สร้าง", "generate-new-token": "สร้างโทเค็นใหม่", + "generated": "สร้างขึ้น", "generated-by": "สร้างโดย", "get-app-support": "ขอความช่วยเหลือจากแอป", "global-setting-plural": "การตั้งค่าทั่วไป", @@ -792,6 +795,7 @@ "manage-entity": "จัดการ {{entity}}", "manage-rule": "จัดการกฎ", "mandatory": "บังคับ", + "manual": "มืออาชีพ", "many-to-many": "หลายต่อหลาย", "many-to-one": "หลายต่อหนึ่ง", "march": "มีนาคม", @@ -1048,6 +1052,7 @@ "project": "โปรเจค", "project-id": "รหัสโปรเจค", "project-lowercase": "โปรเจค", + "propagated": "กระจาย", "property": "คุณสมบัติ", "public-team": "ทีมสาธารณะ", "quality": "คุณภาพ", @@ -1355,6 +1360,7 @@ "tag": "แท็ก", "tag-boost-plural": "การเพิ่มประสิทธิภาพแท็ก", "tag-category-lowercase": "หมวดหมู่แท็ก", + "tag-label-type": "ประเภทป้ายกำกับ", "tag-lowercase": "แท็ก", "tag-lowercase-plural": "แท็กหลายรายการ", "tag-plural": "แท็กหลายรายการ", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/tr-tr.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/tr-tr.json index 4444547b585..9aeaf71c0f8 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/tr-tr.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/tr-tr.json @@ -129,6 +129,7 @@ "auto-classification": "Otomatik Sınıflandırma", "auto-pii-confidence-score": "Otomatik KVT Güven Skoru", "auto-tag-pii-uppercase": "KVT'yi Otomatik Etiketle", + "automated": "Otomatik", "automatically-generate": "Otomatik Oluştur", "average-daily-active-users-on-the-platform": "Platformdaki Ortalama Günlük Aktif Kullanıcı Sayısı", "average-entity": "Ort. {{entity}}", @@ -403,6 +404,7 @@ "deployed": "Dağıtıldı", "deployed-lowercase": "dağıtıldı", "deploying-lowercase": "dağıtılıyor", + "derived": "Türetilmiş", "description": "Açıklama", "description-kpi": "Açıklama KPI'ı", "description-lowercase": "açıklama", @@ -612,6 +614,7 @@ "gcs-credential-value": "GCS Kimlik Bilgileri Değerleri", "generate": "Oluştur", "generate-new-token": "Yeni Anahtar Oluştur", + "generated": "Oluşturuldu", "generated-by": "Oluşturan", "get-app-support": "Uygulama Desteği Al", "global-setting-plural": "Global Ayarlar", @@ -792,6 +795,7 @@ "manage-entity": "{{entity}} Yönet", "manage-rule": "Kuralı Yönet", "mandatory": "Zorunlu", + "manual": "El ile", "many-to-many": "Çoka Çok", "many-to-one": "Çoka Bir", "march": "Mart", @@ -1048,6 +1052,7 @@ "project": "Proje", "project-id": "Proje Kimliği", "project-lowercase": "proje", + "propagated": "Yayılır", "property": "Özellik", "public-team": "Herkese Açık Takım", "quality": "Kalite", @@ -1355,6 +1360,7 @@ "tag": "Etiket", "tag-boost-plural": "Etiket Destekleri", "tag-category-lowercase": "etiket kategorisi", + "tag-label-type": "Etiket Etiket Türü", "tag-lowercase": "etiket", "tag-lowercase-plural": "etiketler", "tag-plural": "Etiketler", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json index d7a84944388..d9d4292316d 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json @@ -129,6 +129,7 @@ "auto-classification": "自动分类", "auto-pii-confidence-score": "自动计算 PII 信任值", "auto-tag-pii-uppercase": "自动标记 PII", + "automated": "自动", "automatically-generate": "自动生成", "average-daily-active-users-on-the-platform": "Average Daily Active Users on the Platform", "average-entity": "平均 {{entity}}", @@ -403,6 +404,7 @@ "deployed": "已部署", "deployed-lowercase": "deployed", "deploying-lowercase": "deploying", + "derived": "衍生", "description": "描述", "description-kpi": "Description KPI", "description-lowercase": "描述", @@ -612,6 +614,7 @@ "gcs-credential-value": "GCS 凭证值", "generate": "生成", "generate-new-token": "生成新令牌", + "generated": "生成", "generated-by": "生成自", "get-app-support": "Get App Support", "global-setting-plural": "全局设置", @@ -792,6 +795,7 @@ "manage-entity": "管理{{entity}}", "manage-rule": "管理规则", "mandatory": "必填", + "manual": "手动", "many-to-many": "Many to Many", "many-to-one": "Many to One", "march": "三月", @@ -1048,6 +1052,7 @@ "project": "项目", "project-id": "项目 ID", "project-lowercase": "项目", + "propagated": "传播", "property": "属性", "public-team": "公开的团队", "quality": "质控", @@ -1355,6 +1360,7 @@ "tag": "标签", "tag-boost-plural": "标签提升", "tag-category-lowercase": "标签分类", + "tag-label-type": "标签类型", "tag-lowercase": "标签", "tag-lowercase-plural": "标签", "tag-plural": "标签", diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/AdvancedSearchClassBase.test.ts b/openmetadata-ui/src/main/resources/ui/src/utils/AdvancedSearchClassBase.test.ts index 63ff757b863..f4e3ab4ed87 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/AdvancedSearchClassBase.test.ts +++ b/openmetadata-ui/src/main/resources/ui/src/utils/AdvancedSearchClassBase.test.ts @@ -50,6 +50,8 @@ describe('AdvancedSearchClassBase', () => { 'extension', 'descriptionStatus', 'entityType', + 'descriptionSources.Suggested', + 'tags.labelType', ]); }); }); diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/AdvancedSearchClassBase.ts b/openmetadata-ui/src/main/resources/ui/src/utils/AdvancedSearchClassBase.ts index 622d680a5c6..50ba820c1a5 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/AdvancedSearchClassBase.ts +++ b/openmetadata-ui/src/main/resources/ui/src/utils/AdvancedSearchClassBase.ts @@ -25,8 +25,10 @@ import AntdConfig from 'react-awesome-query-builder/lib/config/antd'; import { CustomPropertyEnumConfig } from '../components/Explore/AdvanceSearchProvider/AdvanceSearchProvider.interface'; import { LIST_VALUE_OPERATORS, + NULL_CHECK_OPERATORS, RANGE_FIELD_OPERATORS, SEARCH_INDICES_WITH_COLUMNS_FIELD, + TAG_LABEL_TYPE_LIST_VALUES, TEXT_FIELD_OPERATORS, } from '../constants/AdvancedSearch.constants'; import { @@ -724,6 +726,22 @@ class AdvancedSearchClassBase { useAsyncSearch: true, }, }, + [EntityFields.SUGGESTED_DESCRIPTION]: { + label: t('label.suggested-description'), + type: 'select', + operators: NULL_CHECK_OPERATORS, + mainWidgetProps: this.mainWidgetProps, + valueSources: ['value'], + }, + [EntityFields.TAGS_LABEL_TYPE]: { + label: t('label.tag-label-type'), + type: 'select', + mainWidgetProps: this.mainWidgetProps, + valueSources: ['value'], + fieldSettings: { + listValues: TAG_LABEL_TYPE_LIST_VALUES, + }, + }, }; }