mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-11-01 19:18:05 +00:00
ui & backend: explore page count was not showing properly (#14013)
This commit is contained in:
parent
9f1f830775
commit
efb6c5f221
@ -144,6 +144,7 @@ import org.openmetadata.service.search.indexes.MlModelIndex;
|
||||
import org.openmetadata.service.search.indexes.PipelineIndex;
|
||||
import org.openmetadata.service.search.indexes.QueryIndex;
|
||||
import org.openmetadata.service.search.indexes.SearchEntityIndex;
|
||||
import org.openmetadata.service.search.indexes.SearchIndex;
|
||||
import org.openmetadata.service.search.indexes.StoredProcedureIndex;
|
||||
import org.openmetadata.service.search.indexes.TableIndex;
|
||||
import org.openmetadata.service.search.indexes.TagIndex;
|
||||
@ -344,7 +345,17 @@ public class ElasticSearchClient implements SearchClient {
|
||||
}
|
||||
|
||||
/* For backward-compatibility we continue supporting the deleted argument, this should be removed in future versions */
|
||||
if (request.getIndex().equalsIgnoreCase("domain_search_index")
|
||||
if (request.getIndex().equalsIgnoreCase("all")) {
|
||||
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
|
||||
boolQueryBuilder.should(
|
||||
QueryBuilders.boolQuery()
|
||||
.must(searchSourceBuilder.query())
|
||||
.must(QueryBuilders.existsQuery("deleted"))
|
||||
.must(QueryBuilders.termQuery("deleted", request.deleted())));
|
||||
boolQueryBuilder.should(
|
||||
QueryBuilders.boolQuery().must(searchSourceBuilder.query()).mustNot(QueryBuilders.existsQuery("deleted")));
|
||||
searchSourceBuilder.query(boolQueryBuilder);
|
||||
} else if (request.getIndex().equalsIgnoreCase("domain_search_index")
|
||||
|| request.getIndex().equalsIgnoreCase("data_product_search_index")
|
||||
|| request.getIndex().equalsIgnoreCase("query_search_index")
|
||||
|| request.getIndex().equalsIgnoreCase("raw_cost_analysis_report_data_index")
|
||||
@ -894,7 +905,8 @@ public class ElasticSearchClient implements SearchClient {
|
||||
}
|
||||
|
||||
private static SearchSourceBuilder buildAggregateSearchBuilder(String query, int from, int size) {
|
||||
QueryStringQueryBuilder queryBuilder = QueryBuilders.queryStringQuery(query).lenient(true);
|
||||
QueryStringQueryBuilder queryBuilder =
|
||||
QueryBuilders.queryStringQuery(query).fields(SearchIndex.getDefaultFields()).lenient(true);
|
||||
SearchSourceBuilder searchSourceBuilder = searchBuilder(queryBuilder, null, from, size);
|
||||
return addAggregation(searchSourceBuilder);
|
||||
}
|
||||
|
||||
@ -1,16 +1,8 @@
|
||||
package org.openmetadata.service.search.indexes;
|
||||
|
||||
import static org.openmetadata.service.Entity.FIELD_DESCRIPTION;
|
||||
import static org.openmetadata.service.Entity.FIELD_DISPLAY_NAME;
|
||||
import static org.openmetadata.service.Entity.FIELD_NAME;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.DATA_MODEL_COLUMNS_NAME_KEYWORD;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.DISPLAY_NAME_KEYWORD;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_DISPLAY_NAME_NGRAM;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FULLY_QUALIFIED_NAME_PARTS;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.NAME_KEYWORD;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -84,14 +76,7 @@ public class ContainerIndex implements ColumnIndex {
|
||||
}
|
||||
|
||||
public static Map<String, Float> getFields() {
|
||||
Map<String, Float> fields = new HashMap<>();
|
||||
fields.put(FIELD_DISPLAY_NAME, 15.0f);
|
||||
fields.put(FIELD_DISPLAY_NAME_NGRAM, 1.0f);
|
||||
fields.put(FIELD_NAME, 15.0f);
|
||||
fields.put(FIELD_DESCRIPTION, 1.0f);
|
||||
fields.put(DISPLAY_NAME_KEYWORD, 25.0f);
|
||||
fields.put(NAME_KEYWORD, 25.0f);
|
||||
fields.put(FULLY_QUALIFIED_NAME_PARTS, 10.0f);
|
||||
Map<String, Float> fields = SearchIndex.getDefaultFields();
|
||||
fields.put("dataModel.columns.name", 2.0f);
|
||||
fields.put(DATA_MODEL_COLUMNS_NAME_KEYWORD, 10.0f);
|
||||
fields.put("dataModel.columns.name.ngram", 1.0f);
|
||||
|
||||
@ -1,17 +1,8 @@
|
||||
package org.openmetadata.service.search.indexes;
|
||||
|
||||
import static org.openmetadata.service.Entity.FIELD_DESCRIPTION;
|
||||
import static org.openmetadata.service.Entity.FIELD_DISPLAY_NAME;
|
||||
import static org.openmetadata.service.Entity.FIELD_NAME;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.COLUMNS_NAME_KEYWORD;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.DISPLAY_NAME_KEYWORD;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_DISPLAY_NAME_NGRAM;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_NAME_NGRAM;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FULLY_QUALIFIED_NAME_PARTS;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.NAME_KEYWORD;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -79,16 +70,8 @@ public class DashboardDataModelIndex implements ColumnIndex {
|
||||
}
|
||||
|
||||
public static Map<String, Float> getFields() {
|
||||
Map<String, Float> fields = new HashMap<>();
|
||||
fields.put(FIELD_DISPLAY_NAME, 15.0f);
|
||||
fields.put(FIELD_DISPLAY_NAME_NGRAM, 1.0f);
|
||||
fields.put(FIELD_NAME, 15.0f);
|
||||
fields.put(FIELD_NAME_NGRAM, 1.0f);
|
||||
fields.put(DISPLAY_NAME_KEYWORD, 25.0f);
|
||||
fields.put(NAME_KEYWORD, 25.0f);
|
||||
fields.put(FIELD_DESCRIPTION, 1.0f);
|
||||
Map<String, Float> fields = SearchIndex.getDefaultFields();
|
||||
fields.put(COLUMNS_NAME_KEYWORD, 10.0f);
|
||||
fields.put(FULLY_QUALIFIED_NAME_PARTS, 10.0f);
|
||||
fields.put("columns.name", 2.0f);
|
||||
fields.put("columns.name.ngram", 1.0f);
|
||||
fields.put("columns.displayName", 1.0f);
|
||||
|
||||
@ -1,17 +1,8 @@
|
||||
package org.openmetadata.service.search.indexes;
|
||||
|
||||
import static org.openmetadata.common.utils.CommonUtil.listOrEmpty;
|
||||
import static org.openmetadata.service.Entity.FIELD_DESCRIPTION;
|
||||
import static org.openmetadata.service.Entity.FIELD_DISPLAY_NAME;
|
||||
import static org.openmetadata.service.Entity.FIELD_NAME;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.DISPLAY_NAME_KEYWORD;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_DISPLAY_NAME_NGRAM;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_NAME_NGRAM;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FULLY_QUALIFIED_NAME_PARTS;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.NAME_KEYWORD;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
@ -69,15 +60,7 @@ public class DashboardIndex implements SearchIndex {
|
||||
}
|
||||
|
||||
public static Map<String, Float> getFields() {
|
||||
Map<String, Float> fields = new HashMap<>();
|
||||
fields.put(FIELD_DISPLAY_NAME, 15.0f);
|
||||
fields.put(FIELD_DISPLAY_NAME_NGRAM, 1.0f);
|
||||
fields.put(FIELD_NAME, 15.0f);
|
||||
fields.put(FIELD_NAME_NGRAM, 1.0f);
|
||||
fields.put(DISPLAY_NAME_KEYWORD, 25.0f);
|
||||
fields.put(NAME_KEYWORD, 25.0f);
|
||||
fields.put(FIELD_DESCRIPTION, 1.0f);
|
||||
fields.put(FULLY_QUALIFIED_NAME_PARTS, 10.0f);
|
||||
Map<String, Float> fields = SearchIndex.getDefaultFields();
|
||||
fields.put("charts.name", 2.0f);
|
||||
fields.put("charts.description", 1.0f);
|
||||
return fields;
|
||||
|
||||
@ -1,16 +1,6 @@
|
||||
package org.openmetadata.service.search.indexes;
|
||||
|
||||
import static org.openmetadata.service.Entity.FIELD_DESCRIPTION;
|
||||
import static org.openmetadata.service.Entity.FIELD_DISPLAY_NAME;
|
||||
import static org.openmetadata.service.Entity.FIELD_NAME;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.DISPLAY_NAME_KEYWORD;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_DISPLAY_NAME_NGRAM;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_NAME_NGRAM;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FULLY_QUALIFIED_NAME_PARTS;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.NAME_KEYWORD;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
@ -48,15 +38,6 @@ public class DataProductIndex implements SearchIndex {
|
||||
}
|
||||
|
||||
public static Map<String, Float> getFields() {
|
||||
Map<String, Float> fields = new HashMap<>();
|
||||
fields.put(FIELD_DISPLAY_NAME, 15.0f);
|
||||
fields.put(FIELD_DISPLAY_NAME_NGRAM, 1.0f);
|
||||
fields.put(FIELD_NAME, 15.0f);
|
||||
fields.put(FIELD_NAME_NGRAM, 1.0f);
|
||||
fields.put(DISPLAY_NAME_KEYWORD, 25.0f);
|
||||
fields.put(NAME_KEYWORD, 25.0f);
|
||||
fields.put(FULLY_QUALIFIED_NAME_PARTS, 10.0f);
|
||||
fields.put(FIELD_DESCRIPTION, 1.0f);
|
||||
return fields;
|
||||
return SearchIndex.getDefaultFields();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,14 +1,6 @@
|
||||
package org.openmetadata.service.search.indexes;
|
||||
|
||||
import static org.openmetadata.service.Entity.FIELD_DESCRIPTION;
|
||||
import static org.openmetadata.service.Entity.FIELD_DISPLAY_NAME;
|
||||
import static org.openmetadata.service.Entity.FIELD_NAME;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.DISPLAY_NAME_KEYWORD;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FULLY_QUALIFIED_NAME_PARTS;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.NAME_KEYWORD;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
@ -45,13 +37,6 @@ public class DomainIndex implements SearchIndex {
|
||||
}
|
||||
|
||||
public static Map<String, Float> getFields() {
|
||||
Map<String, Float> fields = new HashMap<>();
|
||||
fields.put(FIELD_DISPLAY_NAME, 15.0f);
|
||||
fields.put(FIELD_NAME, 15.0f);
|
||||
fields.put(DISPLAY_NAME_KEYWORD, 25.0f);
|
||||
fields.put(NAME_KEYWORD, 25.0f);
|
||||
fields.put(FIELD_DESCRIPTION, 1.0f);
|
||||
fields.put(FULLY_QUALIFIED_NAME_PARTS, 10.0f);
|
||||
return fields;
|
||||
return SearchIndex.getDefaultFields();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,16 +1,8 @@
|
||||
package org.openmetadata.service.search.indexes;
|
||||
|
||||
import static org.openmetadata.service.Entity.FIELD_DESCRIPTION;
|
||||
import static org.openmetadata.service.Entity.FIELD_DISPLAY_NAME;
|
||||
import static org.openmetadata.service.Entity.FIELD_NAME;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_DISPLAY_NAME_NGRAM;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_NAME_NGRAM;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FULLY_QUALIFIED_NAME;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FULLY_QUALIFIED_NAME_PARTS;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.NAME_KEYWORD;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
@ -49,21 +41,14 @@ public class GlossaryTermIndex implements SearchIndex {
|
||||
}
|
||||
|
||||
public static Map<String, Float> getFields() {
|
||||
Map<String, Float> fields = new HashMap<>();
|
||||
fields.put(FIELD_DISPLAY_NAME, 10.0f);
|
||||
fields.put(FIELD_DISPLAY_NAME_NGRAM, 1.0f);
|
||||
fields.put(FIELD_NAME, 10.0f);
|
||||
fields.put(NAME_KEYWORD, 1.0f);
|
||||
fields.put(FIELD_NAME_NGRAM, 1.0f);
|
||||
Map<String, Float> fields = SearchIndex.getDefaultFields();
|
||||
fields.put(FULLY_QUALIFIED_NAME + ".keyword", 3.0f);
|
||||
fields.put(FULLY_QUALIFIED_NAME + ".ngram", 1.0f);
|
||||
fields.put("synonyms", 5.0f);
|
||||
fields.put("synonyms.ngram", 1.0f);
|
||||
fields.put(FIELD_DESCRIPTION, 3.0f);
|
||||
fields.put("glossary.name", 5.0f);
|
||||
fields.put("glossary.displayName", 5.0f);
|
||||
fields.put("glossary.displayName.ngram", 1.0f);
|
||||
fields.put(FULLY_QUALIFIED_NAME_PARTS, 10.0f);
|
||||
return fields;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,15 +1,6 @@
|
||||
package org.openmetadata.service.search.indexes;
|
||||
|
||||
import static org.openmetadata.service.Entity.FIELD_DESCRIPTION;
|
||||
import static org.openmetadata.service.Entity.FIELD_DISPLAY_NAME;
|
||||
import static org.openmetadata.service.Entity.FIELD_NAME;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.DISPLAY_NAME_KEYWORD;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_DISPLAY_NAME_NGRAM;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FULLY_QUALIFIED_NAME_PARTS;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.NAME_KEYWORD;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
@ -55,16 +46,9 @@ public class MlModelIndex implements SearchIndex {
|
||||
}
|
||||
|
||||
public static Map<String, Float> getFields() {
|
||||
Map<String, Float> fields = new HashMap<>();
|
||||
fields.put(FIELD_DISPLAY_NAME, 15.0f);
|
||||
fields.put(FIELD_DISPLAY_NAME_NGRAM, 1.0f);
|
||||
fields.put(FIELD_NAME, 15.0f);
|
||||
fields.put(DISPLAY_NAME_KEYWORD, 25.0f);
|
||||
fields.put(NAME_KEYWORD, 25.0f);
|
||||
fields.put(FIELD_DESCRIPTION, 1.0f);
|
||||
Map<String, Float> fields = SearchIndex.getDefaultFields();
|
||||
fields.put("mlFeatures.name", 2.0f);
|
||||
fields.put("mlFeatures.description", 1.0f);
|
||||
fields.put(FULLY_QUALIFIED_NAME_PARTS, 10.0f);
|
||||
return fields;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,15 +1,6 @@
|
||||
package org.openmetadata.service.search.indexes;
|
||||
|
||||
import static org.openmetadata.service.Entity.FIELD_DESCRIPTION;
|
||||
import static org.openmetadata.service.Entity.FIELD_DISPLAY_NAME;
|
||||
import static org.openmetadata.service.Entity.FIELD_NAME;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.DISPLAY_NAME_KEYWORD;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_DISPLAY_NAME_NGRAM;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FULLY_QUALIFIED_NAME_PARTS;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.NAME_KEYWORD;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
@ -66,16 +57,9 @@ public class PipelineIndex implements SearchIndex {
|
||||
}
|
||||
|
||||
public static Map<String, Float> getFields() {
|
||||
Map<String, Float> fields = new HashMap<>();
|
||||
fields.put(FIELD_DISPLAY_NAME, 15.0f);
|
||||
fields.put(FIELD_DISPLAY_NAME_NGRAM, 1.0f);
|
||||
fields.put(FIELD_NAME, 15.0f);
|
||||
fields.put(DISPLAY_NAME_KEYWORD, 25.0f);
|
||||
fields.put(NAME_KEYWORD, 25.0f);
|
||||
fields.put(FIELD_DESCRIPTION, 1.0f);
|
||||
Map<String, Float> fields = SearchIndex.getDefaultFields();
|
||||
fields.put("tasks.name", 2.0f);
|
||||
fields.put("tasks.description", 1.0f);
|
||||
fields.put(FULLY_QUALIFIED_NAME_PARTS, 10.0f);
|
||||
return fields;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,12 +1,9 @@
|
||||
package org.openmetadata.service.search.indexes;
|
||||
|
||||
import static org.openmetadata.service.Entity.FIELD_DESCRIPTION;
|
||||
import static org.openmetadata.service.Entity.FIELD_DISPLAY_NAME;
|
||||
import static org.openmetadata.service.Entity.QUERY;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.*;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.QUERY_NGRAM;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
@ -48,13 +45,9 @@ public class QueryIndex implements SearchIndex {
|
||||
}
|
||||
|
||||
public static Map<String, Float> getFields() {
|
||||
Map<String, Float> fields = new HashMap<>();
|
||||
fields.put(FIELD_DISPLAY_NAME, 10.0f);
|
||||
fields.put(FIELD_DISPLAY_NAME_NGRAM, 1.0f);
|
||||
Map<String, Float> fields = SearchIndex.getDefaultFields();
|
||||
fields.put(QUERY, 10.0f);
|
||||
fields.put(QUERY_NGRAM, 1.0f);
|
||||
fields.put(FIELD_DESCRIPTION, 1.0f);
|
||||
fields.put(FULLY_QUALIFIED_NAME_PARTS, 10.0f);
|
||||
return fields;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,16 +1,6 @@
|
||||
package org.openmetadata.service.search.indexes;
|
||||
|
||||
import static org.openmetadata.service.Entity.FIELD_DESCRIPTION;
|
||||
import static org.openmetadata.service.Entity.FIELD_DISPLAY_NAME;
|
||||
import static org.openmetadata.service.Entity.FIELD_NAME;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.DISPLAY_NAME_KEYWORD;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_DISPLAY_NAME_NGRAM;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_NAME_NGRAM;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FULLY_QUALIFIED_NAME_PARTS;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.NAME_KEYWORD;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
@ -53,15 +43,7 @@ public class SearchEntityIndex implements SearchIndex {
|
||||
}
|
||||
|
||||
public static Map<String, Float> getFields() {
|
||||
Map<String, Float> fields = new HashMap<>();
|
||||
fields.put(FIELD_DISPLAY_NAME, 15.0f);
|
||||
fields.put(FIELD_DISPLAY_NAME_NGRAM, 1.0f);
|
||||
fields.put(FIELD_NAME, 15.0f);
|
||||
fields.put(FIELD_NAME_NGRAM, 1.0f);
|
||||
fields.put(DISPLAY_NAME_KEYWORD, 25.0f);
|
||||
fields.put(NAME_KEYWORD, 25.0f);
|
||||
fields.put(FULLY_QUALIFIED_NAME_PARTS, 10.0f);
|
||||
fields.put(FIELD_DESCRIPTION, 1.0f);
|
||||
Map<String, Float> fields = SearchIndex.getDefaultFields();
|
||||
fields.put("fields.name", 2.0f);
|
||||
fields.put("fields.children.description", 1.0f);
|
||||
fields.put("fields.children.name", 2.0f);
|
||||
|
||||
@ -1,5 +1,15 @@
|
||||
package org.openmetadata.service.search.indexes;
|
||||
|
||||
import static org.openmetadata.service.Entity.FIELD_DESCRIPTION;
|
||||
import static org.openmetadata.service.Entity.FIELD_DISPLAY_NAME;
|
||||
import static org.openmetadata.service.Entity.FIELD_NAME;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.DISPLAY_NAME_KEYWORD;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_DISPLAY_NAME_NGRAM;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_NAME_NGRAM;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FULLY_QUALIFIED_NAME_PARTS;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.NAME_KEYWORD;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -33,4 +43,17 @@ public interface SearchIndex {
|
||||
CommonUtil.nullOrEmpty(cloneEntity.getDisplayName()) ? cloneEntity.getName() : cloneEntity.getDisplayName());
|
||||
return cloneEntity;
|
||||
}
|
||||
|
||||
static Map<String, Float> getDefaultFields() {
|
||||
Map<String, Float> fields = new HashMap<>();
|
||||
fields.put(FIELD_DISPLAY_NAME, 15.0f);
|
||||
fields.put(FIELD_DISPLAY_NAME_NGRAM, 1.0f);
|
||||
fields.put(FIELD_NAME, 15.0f);
|
||||
fields.put(FIELD_NAME_NGRAM, 1.0f);
|
||||
fields.put(DISPLAY_NAME_KEYWORD, 25.0f);
|
||||
fields.put(NAME_KEYWORD, 25.0f);
|
||||
fields.put(FIELD_DESCRIPTION, 1.0f);
|
||||
fields.put(FULLY_QUALIFIED_NAME_PARTS, 10.0f);
|
||||
return fields;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,14 +1,6 @@
|
||||
package org.openmetadata.service.search.indexes;
|
||||
|
||||
import static org.openmetadata.service.Entity.FIELD_DESCRIPTION;
|
||||
import static org.openmetadata.service.Entity.FIELD_DISPLAY_NAME;
|
||||
import static org.openmetadata.service.Entity.FIELD_NAME;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.DISPLAY_NAME_KEYWORD;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FULLY_QUALIFIED_NAME_PARTS;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.NAME_KEYWORD;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
@ -52,13 +44,6 @@ public class StoredProcedureIndex implements SearchIndex {
|
||||
}
|
||||
|
||||
public static Map<String, Float> getFields() {
|
||||
Map<String, Float> fields = new HashMap<>();
|
||||
fields.put(FIELD_DISPLAY_NAME, 15.0f);
|
||||
fields.put(FIELD_NAME, 15.0f);
|
||||
fields.put(DISPLAY_NAME_KEYWORD, 25.0f);
|
||||
fields.put(NAME_KEYWORD, 25.0f);
|
||||
fields.put(FIELD_DESCRIPTION, 1.0f);
|
||||
fields.put(FULLY_QUALIFIED_NAME_PARTS, 10.0f);
|
||||
return fields;
|
||||
return SearchIndex.getDefaultFields();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,17 +1,8 @@
|
||||
package org.openmetadata.service.search.indexes;
|
||||
|
||||
import static org.openmetadata.service.Entity.FIELD_DESCRIPTION;
|
||||
import static org.openmetadata.service.Entity.FIELD_DISPLAY_NAME;
|
||||
import static org.openmetadata.service.Entity.FIELD_NAME;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.COLUMNS_NAME_KEYWORD;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.DISPLAY_NAME_KEYWORD;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_DISPLAY_NAME_NGRAM;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_NAME_NGRAM;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FULLY_QUALIFIED_NAME_PARTS;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.NAME_KEYWORD;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -113,20 +104,11 @@ public class TableIndex implements ColumnIndex {
|
||||
}
|
||||
|
||||
public static Map<String, Float> getFields() {
|
||||
Map<String, Float> fields = new HashMap<>();
|
||||
fields.put(FIELD_DISPLAY_NAME, 15.0f);
|
||||
fields.put(FIELD_DISPLAY_NAME_NGRAM, 1.0f);
|
||||
fields.put(FIELD_NAME, 15.0f);
|
||||
fields.put(FIELD_NAME_NGRAM, 1.0f);
|
||||
fields.put(DISPLAY_NAME_KEYWORD, 25.0f);
|
||||
fields.put(NAME_KEYWORD, 25.0f);
|
||||
fields.put(FULLY_QUALIFIED_NAME_PARTS, 1.0f);
|
||||
fields.put(FIELD_DESCRIPTION, 1.0f);
|
||||
Map<String, Float> fields = SearchIndex.getDefaultFields();
|
||||
fields.put(COLUMNS_NAME_KEYWORD, 10.0f);
|
||||
fields.put("columns.name", 2.0f);
|
||||
fields.put("columns.name.ngram", 1.0f);
|
||||
fields.put("columns.displayName", 1.0f);
|
||||
fields.put("columns.description", 1.0f);
|
||||
fields.put("columns.children.name", 2.0f);
|
||||
return fields;
|
||||
}
|
||||
|
||||
@ -1,14 +1,6 @@
|
||||
package org.openmetadata.service.search.indexes;
|
||||
|
||||
import static org.openmetadata.service.Entity.FIELD_DESCRIPTION;
|
||||
import static org.openmetadata.service.Entity.FIELD_DISPLAY_NAME;
|
||||
import static org.openmetadata.service.Entity.FIELD_NAME;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_NAME_NGRAM;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FULLY_QUALIFIED_NAME_PARTS;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.NAME_KEYWORD;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
@ -47,14 +39,8 @@ public class TagIndex implements SearchIndex {
|
||||
}
|
||||
|
||||
public static Map<String, Float> getFields() {
|
||||
Map<String, Float> fields = new HashMap<>();
|
||||
fields.put(FIELD_NAME, 10.0f);
|
||||
fields.put(FIELD_DISPLAY_NAME, 10.0f);
|
||||
fields.put(FIELD_NAME_NGRAM, 1.0f);
|
||||
fields.put(NAME_KEYWORD, 25.0f);
|
||||
Map<String, Float> fields = SearchIndex.getDefaultFields();
|
||||
fields.put("classification.name", 1.0f);
|
||||
fields.put(FIELD_DESCRIPTION, 3.0f);
|
||||
fields.put(FULLY_QUALIFIED_NAME_PARTS, 10.0f);
|
||||
return fields;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,11 +1,6 @@
|
||||
package org.openmetadata.service.search.indexes;
|
||||
|
||||
import static org.openmetadata.service.Entity.FIELD_DESCRIPTION;
|
||||
import static org.openmetadata.service.Entity.FIELD_NAME;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FULLY_QUALIFIED_NAME_PARTS;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
@ -81,10 +76,7 @@ public class TestCaseIndex implements SearchIndex {
|
||||
}
|
||||
|
||||
public static Map<String, Float> getFields() {
|
||||
Map<String, Float> fields = new HashMap<>();
|
||||
fields.put(FIELD_NAME, 10.0f);
|
||||
fields.put(FIELD_DESCRIPTION, 3.0f);
|
||||
fields.put(FULLY_QUALIFIED_NAME_PARTS, 10.0f);
|
||||
Map<String, Float> fields = SearchIndex.getDefaultFields();
|
||||
fields.put("testSuite.fullyQualifiedName", 10.0f);
|
||||
fields.put("testSuite.name", 10.0f);
|
||||
fields.put("testSuite.description", 3.0f);
|
||||
|
||||
@ -1,17 +1,8 @@
|
||||
package org.openmetadata.service.search.indexes;
|
||||
|
||||
import static org.openmetadata.service.Entity.FIELD_DESCRIPTION;
|
||||
import static org.openmetadata.service.Entity.FIELD_DISPLAY_NAME;
|
||||
import static org.openmetadata.service.Entity.FIELD_NAME;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.DISPLAY_NAME_KEYWORD;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.ES_MESSAGE_SCHEMA_FIELD;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_DISPLAY_NAME_NGRAM;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_NAME_NGRAM;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FULLY_QUALIFIED_NAME_PARTS;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.NAME_KEYWORD;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -117,15 +108,7 @@ public class TopicIndex implements SearchIndex {
|
||||
}
|
||||
|
||||
public static Map<String, Float> getFields() {
|
||||
Map<String, Float> fields = new HashMap<>();
|
||||
fields.put(FIELD_DISPLAY_NAME, 15.0f);
|
||||
fields.put(FIELD_DISPLAY_NAME_NGRAM, 1.0f);
|
||||
fields.put(FIELD_NAME, 15.0f);
|
||||
fields.put(FIELD_NAME_NGRAM, 1.0f);
|
||||
fields.put(DISPLAY_NAME_KEYWORD, 25.0f);
|
||||
fields.put(NAME_KEYWORD, 25.0f);
|
||||
fields.put(FULLY_QUALIFIED_NAME_PARTS, 10.0f);
|
||||
fields.put(FIELD_DESCRIPTION, 1.0f);
|
||||
Map<String, Float> fields = SearchIndex.getDefaultFields();
|
||||
fields.put(ES_MESSAGE_SCHEMA_FIELD, 2.0f);
|
||||
fields.put("messageSchema.schemaFields.description", 1.0f);
|
||||
fields.put("messageSchema.schemaFields.children.name", 2.0f);
|
||||
|
||||
@ -1,14 +1,6 @@
|
||||
package org.openmetadata.service.search.indexes;
|
||||
|
||||
import static org.openmetadata.service.Entity.FIELD_DISPLAY_NAME;
|
||||
import static org.openmetadata.service.Entity.FIELD_NAME;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.DISPLAY_NAME_KEYWORD;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_DISPLAY_NAME_NGRAM;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.FULLY_QUALIFIED_NAME_PARTS;
|
||||
import static org.openmetadata.service.search.EntityBuilderConstant.NAME_KEYWORD;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
@ -47,13 +39,6 @@ public class UserIndex implements SearchIndex {
|
||||
}
|
||||
|
||||
public static Map<String, Float> getFields() {
|
||||
Map<String, Float> fields = new HashMap<>();
|
||||
fields.put(FIELD_DISPLAY_NAME, 3.0f);
|
||||
fields.put(DISPLAY_NAME_KEYWORD, 5.0f);
|
||||
fields.put(FIELD_DISPLAY_NAME_NGRAM, 1.0f);
|
||||
fields.put(FIELD_NAME, 2.0f);
|
||||
fields.put(NAME_KEYWORD, 3.0f);
|
||||
fields.put(FULLY_QUALIFIED_NAME_PARTS, 10.0f);
|
||||
return fields;
|
||||
return SearchIndex.getDefaultFields();
|
||||
}
|
||||
}
|
||||
|
||||
@ -59,6 +59,7 @@ import org.openmetadata.service.search.indexes.MlModelIndex;
|
||||
import org.openmetadata.service.search.indexes.PipelineIndex;
|
||||
import org.openmetadata.service.search.indexes.QueryIndex;
|
||||
import org.openmetadata.service.search.indexes.SearchEntityIndex;
|
||||
import org.openmetadata.service.search.indexes.SearchIndex;
|
||||
import org.openmetadata.service.search.indexes.StoredProcedureIndex;
|
||||
import org.openmetadata.service.search.indexes.TableIndex;
|
||||
import org.openmetadata.service.search.indexes.TagIndex;
|
||||
@ -336,7 +337,17 @@ public class OpenSearchClient implements SearchClient {
|
||||
}
|
||||
|
||||
/* For backward-compatibility we continue supporting the deleted argument, this should be removed in future versions */
|
||||
if (request.getIndex().equalsIgnoreCase("domain_search_index")
|
||||
if (request.getIndex().equalsIgnoreCase("all")) {
|
||||
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
|
||||
boolQueryBuilder.should(
|
||||
QueryBuilders.boolQuery()
|
||||
.must(searchSourceBuilder.query())
|
||||
.must(QueryBuilders.existsQuery("deleted"))
|
||||
.must(QueryBuilders.termQuery("deleted", request.deleted())));
|
||||
boolQueryBuilder.should(
|
||||
QueryBuilders.boolQuery().must(searchSourceBuilder.query()).mustNot(QueryBuilders.existsQuery("deleted")));
|
||||
searchSourceBuilder.query(boolQueryBuilder);
|
||||
} else if (request.getIndex().equalsIgnoreCase("domain_search_index")
|
||||
|| request.getIndex().equalsIgnoreCase("data_product_search_index")
|
||||
|| request.getIndex().equalsIgnoreCase("query_search_index")
|
||||
|| request.getIndex().equalsIgnoreCase("raw_cost_analysis_report_data_index")
|
||||
@ -878,7 +889,8 @@ public class OpenSearchClient implements SearchClient {
|
||||
}
|
||||
|
||||
private static SearchSourceBuilder buildAggregateSearchBuilder(String query, int from, int size) {
|
||||
QueryStringQueryBuilder queryBuilder = QueryBuilders.queryStringQuery(query).lenient(true);
|
||||
QueryStringQueryBuilder queryBuilder =
|
||||
QueryBuilders.queryStringQuery(query).fields(SearchIndex.getDefaultFields()).lenient(true);
|
||||
SearchSourceBuilder searchSourceBuilder = searchBuilder(queryBuilder, null, from, size);
|
||||
return addAggregation(searchSourceBuilder);
|
||||
}
|
||||
|
||||
@ -93,7 +93,7 @@
|
||||
"indexName": "data_product_search_index",
|
||||
"indexMappingFile": "/elasticsearch/%s/data_products_index_mapping.json",
|
||||
"alias": "dataProduct",
|
||||
"parentAliases": ["domain"]
|
||||
"parentAliases": ["domain","all"]
|
||||
},
|
||||
"domain": {
|
||||
"indexName": "domain_search_index",
|
||||
|
||||
@ -34,6 +34,7 @@ import {
|
||||
import { showErrorToast } from '../../utils/ToastUtils';
|
||||
import {
|
||||
DashboardSource,
|
||||
DataProductSource,
|
||||
GlossarySource,
|
||||
MlModelSource,
|
||||
Option,
|
||||
@ -92,6 +93,9 @@ const Suggestions = ({
|
||||
const [dataModelSuggestions, setDataModelSuggestions] = useState<
|
||||
DashboardDataModelSearchSource[]
|
||||
>([]);
|
||||
const [dataProductSuggestions, setDataProductSuggestions] = useState<
|
||||
DataProductSource[]
|
||||
>([]);
|
||||
|
||||
const isMounting = useRef(true);
|
||||
|
||||
@ -117,6 +121,9 @@ const Suggestions = ({
|
||||
);
|
||||
setGlossarySuggestions(filterOptionsByIndex(options, SearchIndex.GLOSSARY));
|
||||
setTagSuggestions(filterOptionsByIndex(options, SearchIndex.TAG));
|
||||
setDataProductSuggestions(
|
||||
filterOptionsByIndex(options, SearchIndex.DATA_PRODUCT)
|
||||
);
|
||||
};
|
||||
|
||||
const getSuggestionsForIndex = (
|
||||
@ -175,6 +182,10 @@ const Suggestions = ({
|
||||
searchIndex: SearchIndex.GLOSSARY,
|
||||
},
|
||||
{ suggestions: tagSuggestions, searchIndex: SearchIndex.TAG },
|
||||
{
|
||||
suggestions: dataProductSuggestions,
|
||||
searchIndex: SearchIndex.DATA_PRODUCT,
|
||||
},
|
||||
].map(({ suggestions, searchIndex }) =>
|
||||
getSuggestionsForIndex(suggestions, searchIndex)
|
||||
)}
|
||||
|
||||
@ -85,6 +85,10 @@ export interface DashboardDataModelSource extends CommonSource {
|
||||
data_model_id: string;
|
||||
data_model_name: string;
|
||||
}
|
||||
export interface DataProductSource extends CommonSource {
|
||||
data_product_id: string;
|
||||
data_product_name: string;
|
||||
}
|
||||
|
||||
export interface Option {
|
||||
_index: string;
|
||||
@ -99,7 +103,8 @@ export interface Option {
|
||||
DashboardDataModelSearchSource &
|
||||
GlossarySource &
|
||||
TagSource &
|
||||
SearchIndexSource;
|
||||
SearchIndexSource &
|
||||
DataProductSource;
|
||||
}
|
||||
|
||||
export type SearchSuggestions =
|
||||
@ -113,4 +118,5 @@ export type SearchSuggestions =
|
||||
| MlModelSource[]
|
||||
| SearchIndexSource[]
|
||||
| StoredProcedureSearchSource[]
|
||||
| DashboardDataModelSearchSource[];
|
||||
| DashboardDataModelSearchSource[]
|
||||
| DataProductSource[];
|
||||
|
||||
@ -136,6 +136,7 @@ export const globalSearchOptions = [
|
||||
{ value: SearchIndex.GLOSSARY, label: t('label.glossary') },
|
||||
{ value: SearchIndex.TAG, label: t('label.tag') },
|
||||
{ value: SearchIndex.SEARCH_INDEX, label: t('label.search-index') },
|
||||
{ value: SearchIndex.DATA_PRODUCT, label: t('label.data-product') },
|
||||
];
|
||||
|
||||
export const DESCRIPTIONLENGTH = 100;
|
||||
|
||||
@ -145,4 +145,4 @@ export const COMMON_FILTERS_FOR_DIFFERENT_TABS = [
|
||||
|
||||
export const ALL_EXPLORE_SEARCH_INDEX =
|
||||
// eslint-disable-next-line max-len
|
||||
`${SearchIndex.TABLE},${SearchIndex.TOPIC},${SearchIndex.DASHBOARD},${SearchIndex.PIPELINE},${SearchIndex.MLMODEL},${SearchIndex.STORED_PROCEDURE},${SearchIndex.DASHBOARD_DATA_MODEL},${SearchIndex.CONTAINER},${SearchIndex.GLOSSARY},${SearchIndex.TAG},${SearchIndex.SEARCH_INDEX}` as SearchIndex;
|
||||
`${SearchIndex.TABLE},${SearchIndex.TOPIC},${SearchIndex.DASHBOARD},${SearchIndex.PIPELINE},${SearchIndex.MLMODEL},${SearchIndex.STORED_PROCEDURE},${SearchIndex.DASHBOARD_DATA_MODEL},${SearchIndex.CONTAINER},${SearchIndex.GLOSSARY},${SearchIndex.TAG},${SearchIndex.SEARCH_INDEX},${SearchIndex.DATA_PRODUCT}` as SearchIndex;
|
||||
|
||||
@ -326,7 +326,7 @@ const ExplorePageV1: FunctionComponent = () => {
|
||||
setUpdatedAggregations(res.aggregations);
|
||||
}),
|
||||
searchQuery({
|
||||
query: escapeESReservedCharacters(searchQueryParam),
|
||||
query: `*${escapeESReservedCharacters(searchQueryParam)}*`,
|
||||
pageNumber: 0,
|
||||
pageSize: 0,
|
||||
queryFilter: combinedQueryFilter,
|
||||
|
||||
@ -18,6 +18,7 @@ import { isEmpty } from 'lodash';
|
||||
import React from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
import { ReactComponent as IconDashboard } from '../assets/svg/dashboard-grey.svg';
|
||||
import { ReactComponent as DataProductIcon } from '../assets/svg/ic-data-product.svg';
|
||||
import { ReactComponent as IconContainer } from '../assets/svg/ic-storage.svg';
|
||||
import { ReactComponent as IconStoredProcedure } from '../assets/svg/ic-stored-procedure.svg';
|
||||
import { ReactComponent as IconMlModal } from '../assets/svg/mlmodal.svg';
|
||||
@ -150,6 +151,12 @@ export const getGroupLabel = (index: string) => {
|
||||
|
||||
break;
|
||||
|
||||
case SearchIndex.DATA_PRODUCT:
|
||||
label = i18next.t('label.data-product-plural');
|
||||
GroupIcon = DataProductIcon;
|
||||
|
||||
break;
|
||||
|
||||
case SearchIndex.TABLE:
|
||||
default:
|
||||
label = i18next.t('label.table-plural');
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user