diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/search/elasticsearch/ElasticSearchClient.java b/openmetadata-service/src/main/java/org/openmetadata/service/search/elasticsearch/ElasticSearchClient.java index 81ed8bdb309..9be9d883bb7 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/search/elasticsearch/ElasticSearchClient.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/search/elasticsearch/ElasticSearchClient.java @@ -803,14 +803,16 @@ public class ElasticSearchClient implements SearchClient { es.org.elasticsearch.action.search.SearchRequest searchRequest = new es.org.elasticsearch.action.search.SearchRequest( Entity.getSearchRepository().getIndexOrAliasName(GLOBAL_SEARCH_ALIAS)); - SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); - searchSourceBuilder.query( + BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); + boolQueryBuilder.should( QueryBuilders.boolQuery() .must(QueryBuilders.termQuery("lineage.pipeline.fullyQualifiedName.keyword", fqn))); + SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); + searchSourceBuilder.query(boolQueryBuilder); if (CommonUtil.nullOrEmpty(deleted)) { searchSourceBuilder.query( QueryBuilders.boolQuery() - .must(QueryBuilders.termQuery("lineage.pipeline.fullyQualifiedName.keyword", fqn)) + .must(boolQueryBuilder) .must(QueryBuilders.termQuery("deleted", deleted))); } if (!nullOrEmpty(queryFilter) && !queryFilter.equals("{}")) { @@ -860,6 +862,11 @@ public class ElasticSearchClient implements SearchClient { } } } + getLineage( + fqn, downstreamDepth, edges, nodes, queryFilter, "lineage.fromEntity.fqn.keyword", deleted); + getLineage( + fqn, upstreamDepth, edges, nodes, queryFilter, "lineage.toEntity.fqn.keyword", deleted); + // TODO: Fix this , this is hack if (edges.isEmpty()) { es.org.elasticsearch.action.search.SearchRequest searchRequestForEntity = diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/search/opensearch/OpenSearchClient.java b/openmetadata-service/src/main/java/org/openmetadata/service/search/opensearch/OpenSearchClient.java index a41d9f2f62b..ca40ecdab4e 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/search/opensearch/OpenSearchClient.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/search/opensearch/OpenSearchClient.java @@ -801,14 +801,16 @@ public class OpenSearchClient implements SearchClient { os.org.opensearch.action.search.SearchRequest searchRequest = new os.org.opensearch.action.search.SearchRequest( Entity.getSearchRepository().getIndexOrAliasName(GLOBAL_SEARCH_ALIAS)); - SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); - searchSourceBuilder.query( + BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); + boolQueryBuilder.should( QueryBuilders.boolQuery() .must(QueryBuilders.termQuery("lineage.pipeline.fullyQualifiedName.keyword", fqn))); + SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); + searchSourceBuilder.query(boolQueryBuilder); if (CommonUtil.nullOrEmpty(deleted)) { searchSourceBuilder.query( QueryBuilders.boolQuery() - .must(QueryBuilders.termQuery("lineage.pipeline.fullyQualifiedName.keyword", fqn)) + .must(boolQueryBuilder) .must(QueryBuilders.termQuery("deleted", deleted))); } if (!nullOrEmpty(queryFilter) && !queryFilter.equals("{}")) { @@ -858,6 +860,11 @@ public class OpenSearchClient implements SearchClient { } } } + getLineage( + fqn, downstreamDepth, edges, nodes, queryFilter, "lineage.fromEntity.fqn.keyword", deleted); + getLineage( + fqn, upstreamDepth, edges, nodes, queryFilter, "lineage.toEntity.fqn.keyword", deleted); + if (edges.isEmpty()) { os.org.opensearch.action.search.SearchRequest searchRequestForEntity = new os.org.opensearch.action.search.SearchRequest( diff --git a/openmetadata-ui/src/main/resources/ui/src/constants/Lineage.constants.ts b/openmetadata-ui/src/main/resources/ui/src/constants/Lineage.constants.ts index c000d980356..f3170c2fa30 100644 --- a/openmetadata-ui/src/main/resources/ui/src/constants/Lineage.constants.ts +++ b/openmetadata-ui/src/main/resources/ui/src/constants/Lineage.constants.ts @@ -55,6 +55,10 @@ export const entityData = [ type: SearchIndex.CONTAINER, label: t('label.container-plural'), }, + { + type: SearchIndex.PIPELINE, + label: t('label.pipeline-plural'), + }, { type: SearchIndex.SEARCH_INDEX, label: t('label.search-index-plural'),