mirror of
				https://github.com/open-metadata/OpenMetadata.git
				synced 2025-11-04 04:29:13 +00:00 
			
		
		
		
	* Fix #9801: ES: Search api is not returning expected result * Fix #9801: ES: Search api is not returning expected result * Fix #9801: ES: Search api is not returning expected result
This commit is contained in:
		
							parent
							
								
									4d474ab063
								
							
						
					
					
						commit
						4a5676d617
					
				@ -9,21 +9,21 @@ import org.openmetadata.service.util.JsonUtils;
 | 
			
		||||
 | 
			
		||||
public class TeamIndex implements ElasticSearchIndex {
 | 
			
		||||
  final Team team;
 | 
			
		||||
  final List<String> excludeFields = List.of("owns", "changeDescription", "roles", "inheritedRoles");
 | 
			
		||||
  final List<String> excludeFields = List.of("owns", "changeDescription");
 | 
			
		||||
 | 
			
		||||
  public TeamIndex(Team team) {
 | 
			
		||||
    this.team = team;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public Map<String, Object> buildESDoc() {
 | 
			
		||||
    if (team.getDisplayName() == null) {
 | 
			
		||||
      team.setDisplayName(team.getName());
 | 
			
		||||
    }
 | 
			
		||||
    Map<String, Object> doc = JsonUtils.getMap(team);
 | 
			
		||||
    ElasticSearchIndexUtils.removeNonIndexableFields(doc, excludeFields);
 | 
			
		||||
    List<ElasticSearchSuggest> suggest = new ArrayList<>();
 | 
			
		||||
    suggest.add(ElasticSearchSuggest.builder().input(team.getName()).weight(5).build());
 | 
			
		||||
    suggest.add(ElasticSearchSuggest.builder().input(team.getDisplayName()).weight(10).build());
 | 
			
		||||
    if (team.getDisplayName() == null) {
 | 
			
		||||
      doc.put("displayName", team.getName());
 | 
			
		||||
    }
 | 
			
		||||
    doc.put("suggest", suggest);
 | 
			
		||||
    doc.put("entityType", Entity.TEAM);
 | 
			
		||||
    return doc;
 | 
			
		||||
 | 
			
		||||
@ -9,21 +9,21 @@ import org.openmetadata.service.util.JsonUtils;
 | 
			
		||||
 | 
			
		||||
public class UserIndex implements ElasticSearchIndex {
 | 
			
		||||
  final User user;
 | 
			
		||||
  final List<String> excludeFields = List.of("owns", "changeDescription", "follows");
 | 
			
		||||
  final List<String> excludeFields = List.of("owns", "changeDescription", "follows", "authenticationMechanism");
 | 
			
		||||
 | 
			
		||||
  public UserIndex(User user) {
 | 
			
		||||
    this.user = user;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public Map<String, Object> buildESDoc() {
 | 
			
		||||
    if (user.getDisplayName() == null) {
 | 
			
		||||
      user.setDisplayName(user.getName());
 | 
			
		||||
    }
 | 
			
		||||
    Map<String, Object> doc = JsonUtils.getMap(user);
 | 
			
		||||
    ElasticSearchIndexUtils.removeNonIndexableFields(doc, excludeFields);
 | 
			
		||||
    List<ElasticSearchSuggest> suggest = new ArrayList<>();
 | 
			
		||||
    suggest.add(ElasticSearchSuggest.builder().input(user.getName()).weight(5).build());
 | 
			
		||||
    suggest.add(ElasticSearchSuggest.builder().input(user.getDisplayName()).weight(10).build());
 | 
			
		||||
    if (user.getDisplayName() == null) {
 | 
			
		||||
      doc.put("displayName", user.getName());
 | 
			
		||||
    }
 | 
			
		||||
    doc.put("suggest", suggest);
 | 
			
		||||
    doc.put("entityType", Entity.USER);
 | 
			
		||||
    return doc;
 | 
			
		||||
 | 
			
		||||
@ -570,13 +570,13 @@ public class SearchResource {
 | 
			
		||||
 | 
			
		||||
  private SearchSourceBuilder buildUserSearchBuilder(String query, int from, int size) {
 | 
			
		||||
    QueryStringQueryBuilder queryBuilder =
 | 
			
		||||
        QueryBuilders.queryStringQuery(query).field(NAME, 5.0f).field(DISPLAY_NAME, 1.0f).lenient(true);
 | 
			
		||||
        QueryBuilders.queryStringQuery(query).field(DISPLAY_NAME, 5.0f).field(NAME, 3.0f).lenient(true);
 | 
			
		||||
    return searchBuilder(queryBuilder, null, from, size);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private SearchSourceBuilder buildTeamSearchBuilder(String query, int from, int size) {
 | 
			
		||||
    QueryStringQueryBuilder queryBuilder =
 | 
			
		||||
        QueryBuilders.queryStringQuery(query).field(NAME, 5.0f).field(DISPLAY_NAME, 3.0f).lenient(true);
 | 
			
		||||
        QueryBuilders.queryStringQuery(query).field(DISPLAY_NAME, 5.0f).field(NAME, 3.0f).lenient(true);
 | 
			
		||||
    return searchBuilder(queryBuilder, null, from, size);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -17,7 +17,7 @@
 | 
			
		||||
        "type": "text"
 | 
			
		||||
      },
 | 
			
		||||
      "displayName": {
 | 
			
		||||
        "type": "keyword",
 | 
			
		||||
        "type": "text",
 | 
			
		||||
        "fields": {
 | 
			
		||||
          "keyword": {
 | 
			
		||||
            "type": "keyword",
 | 
			
		||||
 | 
			
		||||
@ -17,7 +17,7 @@
 | 
			
		||||
        "type": "text"
 | 
			
		||||
      },
 | 
			
		||||
      "displayName": {
 | 
			
		||||
        "type": "keyword",
 | 
			
		||||
        "type": "text",
 | 
			
		||||
        "fields": {
 | 
			
		||||
          "keyword": {
 | 
			
		||||
            "type": "keyword",
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user