@@ -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