Skip to content

Commit 561ee67

Browse files
authored
Use modern Java pattern matching in QueryToFilterAdapter (#134628)
1 parent c6ddf5d commit 561ee67

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

server/src/main/java/org/elasticsearch/search/aggregations/bucket/filter/QueryToFilterAdapter.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,14 @@ public static QueryToFilterAdapter build(IndexSearcher searcher, String key, Que
5151
// Wrapping with a ConstantScoreQuery enables a few more rewrite
5252
// rules as of Lucene 9.2
5353
query = searcher.rewrite(new ConstantScoreQuery(query));
54-
if (query instanceof ConstantScoreQuery) {
54+
if (query instanceof ConstantScoreQuery csq) {
5555
/*
5656
* Unwrap constant score because it gets in the way of us
5757
* understanding what the queries are trying to do and we
5858
* don't use the score at all anyway. Effectively we always
5959
* run in constant score mode.
6060
*/
61-
query = ((ConstantScoreQuery) query).getQuery();
61+
query = csq.getQuery();
6262
}
6363
return new QueryToFilterAdapter(searcher, key, query);
6464
}
@@ -132,8 +132,8 @@ QueryToFilterAdapter union(Query extraQuery) throws IOException {
132132
extraQuery = searcher().rewrite(new ConstantScoreQuery(extraQuery));
133133
Query unwrappedExtraQuery = unwrap(extraQuery);
134134
Query unwrappedQuery = unwrap(query);
135-
if (unwrappedQuery instanceof PointRangeQuery && unwrappedExtraQuery instanceof PointRangeQuery) {
136-
Query merged = MergedPointRangeQuery.merge((PointRangeQuery) unwrappedQuery, (PointRangeQuery) unwrappedExtraQuery);
135+
if (unwrappedQuery instanceof PointRangeQuery q1 && unwrappedExtraQuery instanceof PointRangeQuery q2) {
136+
Query merged = MergedPointRangeQuery.merge(q1, q2);
137137
if (merged != null) {
138138
// Should we rewrap here?
139139
return new QueryToFilterAdapter(searcher(), key(), merged);
@@ -157,19 +157,19 @@ public boolean isInefficientUnion() {
157157

158158
private static Query unwrap(Query query) {
159159
while (true) {
160-
if (query instanceof ConstantScoreQuery) {
161-
query = ((ConstantScoreQuery) query).getQuery();
162-
continue;
160+
switch (query) {
161+
case ConstantScoreQuery csq:
162+
query = csq.getQuery();
163+
continue;
164+
case IndexSortSortedNumericDocValuesRangeQuery isq:
165+
query = isq.getFallbackQuery();
166+
continue;
167+
case IndexOrDocValuesQuery idq:
168+
query = idq.getIndexQuery();
169+
continue;
170+
default:
171+
return query;
163172
}
164-
if (query instanceof IndexSortSortedNumericDocValuesRangeQuery) {
165-
query = ((IndexSortSortedNumericDocValuesRangeQuery) query).getFallbackQuery();
166-
continue;
167-
}
168-
if (query instanceof IndexOrDocValuesQuery) {
169-
query = ((IndexOrDocValuesQuery) query).getIndexQuery();
170-
continue;
171-
}
172-
return query;
173173
}
174174
}
175175

0 commit comments

Comments
 (0)