Fix Search resource sortOrder param check (#4389)

This commit is contained in:
Sriharsha Chintalapani 2022-04-23 00:03:38 -07:00 committed by GitHub
parent eb459c0b58
commit 0feecde0f4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 4 deletions

View File

@ -32,6 +32,7 @@ import org.elasticsearch.action.update.UpdateRequest;
import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.common.xcontent.XContentType; import org.elasticsearch.common.xcontent.XContentType;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.TermQueryBuilder; import org.elasticsearch.index.query.TermQueryBuilder;
import org.elasticsearch.index.reindex.DeleteByQueryRequest; import org.elasticsearch.index.reindex.DeleteByQueryRequest;
import org.elasticsearch.rest.RestStatus; import org.elasticsearch.rest.RestStatus;
@ -435,7 +436,10 @@ public class ElasticSearchEventPublisher extends AbstractEventPublisher {
if (event.getEventType() == EventType.ENTITY_DELETED) { if (event.getEventType() == EventType.ENTITY_DELETED) {
Database database = (Database) event.getEntity(); Database database = (Database) event.getEntity();
DeleteByQueryRequest request = new DeleteByQueryRequest(ElasticSearchIndexType.TABLE_SEARCH_INDEX.indexName); DeleteByQueryRequest request = new DeleteByQueryRequest(ElasticSearchIndexType.TABLE_SEARCH_INDEX.indexName);
request.setQuery(new TermQueryBuilder("database", database.getName())); BoolQueryBuilder queryBuilder = new BoolQueryBuilder();
queryBuilder.must(new TermQueryBuilder("database", database.getName()));
queryBuilder.must(new TermQueryBuilder("service", database.getService()));
request.setQuery(queryBuilder);
deleteEntityFromElasticSearchByQuery(request); deleteEntityFromElasticSearchByQuery(request);
} }
} }
@ -444,7 +448,10 @@ public class ElasticSearchEventPublisher extends AbstractEventPublisher {
if (event.getEventType() == EventType.ENTITY_DELETED) { if (event.getEventType() == EventType.ENTITY_DELETED) {
DatabaseSchema databaseSchema = (DatabaseSchema) event.getEntity(); DatabaseSchema databaseSchema = (DatabaseSchema) event.getEntity();
DeleteByQueryRequest request = new DeleteByQueryRequest(ElasticSearchIndexType.TABLE_SEARCH_INDEX.indexName); DeleteByQueryRequest request = new DeleteByQueryRequest(ElasticSearchIndexType.TABLE_SEARCH_INDEX.indexName);
request.setQuery(new TermQueryBuilder("database_schema", databaseSchema.getName())); BoolQueryBuilder queryBuilder = new BoolQueryBuilder();
queryBuilder.must(new TermQueryBuilder("database_schema", databaseSchema.getName()));
queryBuilder.must(new TermQueryBuilder("database", databaseSchema.getDatabase().getName()));
request.setQuery(queryBuilder);
deleteEntityFromElasticSearchByQuery(request); deleteEntityFromElasticSearchByQuery(request);
} }
} }

View File

@ -169,10 +169,10 @@ public class SearchResource {
break; break;
} }
if (nullOrEmpty(sortFieldParam)) { if (!nullOrEmpty(sortFieldParam)) {
searchSourceBuilder.sort(sortFieldParam, sortOrder); searchSourceBuilder.sort(sortFieldParam, sortOrder);
} }
LOG.info(searchSourceBuilder.toString()); LOG.debug(searchSourceBuilder.toString());
searchSourceBuilder.timeout(new TimeValue(30, TimeUnit.SECONDS)); searchSourceBuilder.timeout(new TimeValue(30, TimeUnit.SECONDS));
searchRequest.source(searchSourceBuilder); searchRequest.source(searchSourceBuilder);
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT); SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);