added search for test case index (#12100)

* added search test case index

* checkstyle
This commit is contained in:
07Himank 2023-06-22 19:14:32 +05:30 committed by GitHub
parent 75030c909d
commit 3e3bd79f89
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 72 additions and 0 deletions

View File

@ -278,6 +278,9 @@ public class ElasticSearchClientImpl implements SearchClient {
case "query_search_index":
searchSourceBuilder = buildQuerySearchBuilder(request.getQuery(), request.getFrom(), request.getSize());
break;
case "test_case_search_index":
searchSourceBuilder = buildTestCaseSearch(request.getQuery(), request.getFrom(), request.getSize());
break;
default:
searchSourceBuilder = buildAggregateSearchBuilder(request.getQuery(), request.getFrom(), request.getSize());
break;
@ -728,6 +731,39 @@ public class ElasticSearchClientImpl implements SearchClient {
return searchBuilder(queryBuilder, hb, from, size);
}
private static SearchSourceBuilder buildTestCaseSearch(String query, int from, int size) {
QueryStringQueryBuilder queryBuilder =
QueryBuilders.queryStringQuery(query)
.field(FIELD_NAME, 10.0f)
.field(EntityBuilderConstant.DESCRIPTION, 3.0f)
.field("testSuite.fullyQualifiedName", 10.0f)
.field("testSuite.name", 10.0f)
.field("testSuite.description", 3.0f)
.field("entityLink", 3.0f)
.field("entityFQN", 10.0f)
.defaultOperator(Operator.AND)
.fuzziness(Fuzziness.AUTO);
HighlightBuilder.Field highlightTestCaseDescription = new HighlightBuilder.Field(FIELD_DESCRIPTION);
highlightTestCaseDescription.highlighterType(EntityBuilderConstant.UNIFIED);
HighlightBuilder.Field highlightTestCaseName = new HighlightBuilder.Field(FIELD_NAME);
highlightTestCaseName.highlighterType(EntityBuilderConstant.UNIFIED);
HighlightBuilder.Field highlightTestSuiteName = new HighlightBuilder.Field("testSuite.name");
highlightTestSuiteName.highlighterType(EntityBuilderConstant.UNIFIED);
HighlightBuilder.Field highlightTestSuiteDescription = new HighlightBuilder.Field("testSuite.description");
highlightTestSuiteDescription.highlighterType(EntityBuilderConstant.UNIFIED);
HighlightBuilder hb = new HighlightBuilder();
hb.field(highlightTestCaseDescription);
hb.field(highlightTestCaseName);
hb.field(highlightTestSuiteName);
hb.field(highlightTestSuiteDescription);
hb.preTags(EntityBuilderConstant.PRE_TAG);
hb.postTags(EntityBuilderConstant.POST_TAG);
return searchBuilder(queryBuilder, hb, from, size);
}
private static SearchSourceBuilder buildAggregateSearchBuilder(String query, int from, int size) {
QueryStringQueryBuilder queryBuilder = QueryBuilders.queryStringQuery(query).lenient(true);
SearchSourceBuilder searchSourceBuilder = searchBuilder(queryBuilder, null, from, size);

View File

@ -278,6 +278,9 @@ public class OpenSearchClientImpl implements SearchClient {
case "query_search_index":
searchSourceBuilder = buildQuerySearchBuilder(request.getQuery(), request.getFrom(), request.getSize());
break;
case "test_case_search_index":
searchSourceBuilder = buildTestCaseSearch(request.getQuery(), request.getFrom(), request.getSize());
break;
default:
searchSourceBuilder = buildAggregateSearchBuilder(request.getQuery(), request.getFrom(), request.getSize());
break;
@ -735,6 +738,39 @@ public class OpenSearchClientImpl implements SearchClient {
return searchBuilder(queryBuilder, hb, from, size);
}
private static SearchSourceBuilder buildTestCaseSearch(String query, int from, int size) {
QueryStringQueryBuilder queryBuilder =
QueryBuilders.queryStringQuery(query)
.field(FIELD_NAME, 10.0f)
.field(EntityBuilderConstant.DESCRIPTION, 3.0f)
.field("testSuite.fullyQualifiedName", 10.0f)
.field("testSuite.name", 10.0f)
.field("testSuite.description", 3.0f)
.field("entityLink", 3.0f)
.field("entityFQN", 10.0f)
.defaultOperator(Operator.AND)
.fuzziness(Fuzziness.AUTO);
HighlightBuilder.Field highlightTestCaseDescription = new HighlightBuilder.Field(FIELD_DESCRIPTION);
highlightTestCaseDescription.highlighterType(EntityBuilderConstant.UNIFIED);
HighlightBuilder.Field highlightTestCaseName = new HighlightBuilder.Field(FIELD_NAME);
highlightTestCaseName.highlighterType(EntityBuilderConstant.UNIFIED);
HighlightBuilder.Field highlightTestSuiteName = new HighlightBuilder.Field("testSuite.name");
highlightTestSuiteName.highlighterType(EntityBuilderConstant.UNIFIED);
HighlightBuilder.Field highlightTestSuiteDescription = new HighlightBuilder.Field("testSuite.description");
highlightTestSuiteDescription.highlighterType(EntityBuilderConstant.UNIFIED);
HighlightBuilder hb = new HighlightBuilder();
hb.field(highlightTestCaseDescription);
hb.field(highlightTestCaseName);
hb.field(highlightTestSuiteName);
hb.field(highlightTestSuiteDescription);
hb.preTags(EntityBuilderConstant.PRE_TAG);
hb.postTags(EntityBuilderConstant.POST_TAG);
return searchBuilder(queryBuilder, hb, from, size);
}
private static SearchSourceBuilder buildAggregateSearchBuilder(String query, int from, int size) {
QueryStringQueryBuilder queryBuilder = QueryBuilders.queryStringQuery(query).lenient(true);
SearchSourceBuilder searchSourceBuilder = searchBuilder(queryBuilder, null, from, size);