mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-07-19 07:17:38 +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