Skip to content

Commit 4742400

Browse files
authored
Adding WithFieldName interface for QueryBuilders with fieldName (#15705) (#15763)
Signed-off-by: David Zane <davizane@amazon.com> Signed-off-by: Ankit Jain <akjain@amazon.com> Co-authored-by: Ankit Jain <akjain@amazon.com> (cherry picked from commit f5c897c)
1 parent 085a2f5 commit 4742400

17 files changed

+58
-22
lines changed

server/src/main/java/org/opensearch/index/query/AbstractGeometryQueryBuilder.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@
6767
*
6868
* @opensearch.internal
6969
*/
70-
public abstract class AbstractGeometryQueryBuilder<QB extends AbstractGeometryQueryBuilder<QB>> extends AbstractQueryBuilder<QB> {
70+
public abstract class AbstractGeometryQueryBuilder<QB extends AbstractGeometryQueryBuilder<QB>> extends AbstractQueryBuilder<QB>
71+
implements
72+
WithFieldName {
7173

7274
public static final String DEFAULT_SHAPE_INDEX_NAME = "shapes";
7375
public static final String DEFAULT_SHAPE_FIELD_NAME = "shape";
@@ -218,6 +220,7 @@ protected void doWriteTo(StreamOutput out) throws IOException {
218220
/**
219221
* @return the name of the field that will be queried
220222
*/
223+
@Override
221224
public String fieldName() {
222225
return fieldName;
223226
}

server/src/main/java/org/opensearch/index/query/BaseTermQueryBuilder.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
*
4848
* @opensearch.internal
4949
*/
50-
public abstract class BaseTermQueryBuilder<QB extends BaseTermQueryBuilder<QB>> extends AbstractQueryBuilder<QB> {
50+
public abstract class BaseTermQueryBuilder<QB extends BaseTermQueryBuilder<QB>> extends AbstractQueryBuilder<QB> implements WithFieldName {
5151

5252
public static final ParseField VALUE_FIELD = new ParseField("value");
5353

@@ -153,6 +153,7 @@ protected void doWriteTo(StreamOutput out) throws IOException {
153153
}
154154

155155
/** Returns the field name used in this query. */
156+
@Override
156157
public String fieldName() {
157158
return this.fieldName;
158159
}

server/src/main/java/org/opensearch/index/query/CommonTermsQueryBuilder.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
* @opensearch.internal
6868
*/
6969
@Deprecated
70-
public class CommonTermsQueryBuilder extends AbstractQueryBuilder<CommonTermsQueryBuilder> {
70+
public class CommonTermsQueryBuilder extends AbstractQueryBuilder<CommonTermsQueryBuilder> implements WithFieldName {
7171

7272
public static final String COMMON_TERMS_QUERY_DEPRECATION_MSG = "[match] query which can efficiently "
7373
+ "skip blocks of documents if the total number of hits is not tracked";
@@ -152,6 +152,7 @@ protected void doWriteTo(StreamOutput out) throws IOException {
152152
out.writeFloat(cutoffFrequency);
153153
}
154154

155+
@Override
155156
public String fieldName() {
156157
return this.fieldName;
157158
}

server/src/main/java/org/opensearch/index/query/DistanceFeatureQueryBuilder.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
*
5858
* @opensearch.internal
5959
*/
60-
public class DistanceFeatureQueryBuilder extends AbstractQueryBuilder<DistanceFeatureQueryBuilder> {
60+
public class DistanceFeatureQueryBuilder extends AbstractQueryBuilder<DistanceFeatureQueryBuilder> implements WithFieldName {
6161
public static final String NAME = "distance_feature";
6262

6363
private static final ParseField FIELD_FIELD = new ParseField("field");
@@ -136,7 +136,8 @@ protected Query doToQuery(QueryShardContext context) throws IOException {
136136
return fieldType.distanceFeatureQuery(origin.origin(), pivot, 1.0f, context);
137137
}
138138

139-
String fieldName() {
139+
@Override
140+
public String fieldName() {
140141
return field;
141142
}
142143

server/src/main/java/org/opensearch/index/query/ExistsQueryBuilder.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
*
6060
* @opensearch.internal
6161
*/
62-
public class ExistsQueryBuilder extends AbstractQueryBuilder<ExistsQueryBuilder> {
62+
public class ExistsQueryBuilder extends AbstractQueryBuilder<ExistsQueryBuilder> implements WithFieldName {
6363
public static final String NAME = "exists";
6464

6565
public static final ParseField FIELD_FIELD = new ParseField("field");
@@ -89,6 +89,7 @@ protected void doWriteTo(StreamOutput out) throws IOException {
8989
/**
9090
* @return the field name that has to exist for this query to match
9191
*/
92+
@Override
9293
public String fieldName() {
9394
return this.fieldName;
9495
}

server/src/main/java/org/opensearch/index/query/FieldMaskingSpanQueryBuilder.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,10 @@
5353
*
5454
* @opensearch.internal
5555
*/
56-
public class FieldMaskingSpanQueryBuilder extends AbstractQueryBuilder<FieldMaskingSpanQueryBuilder> implements SpanQueryBuilder {
56+
public class FieldMaskingSpanQueryBuilder extends AbstractQueryBuilder<FieldMaskingSpanQueryBuilder>
57+
implements
58+
SpanQueryBuilder,
59+
WithFieldName {
5760

5861
public static final String NAME = "span_field_masking";
5962
public static final ParseField SPAN_FIELD_MASKING_FIELD = new ParseField(NAME, "field_masking_span");
@@ -100,6 +103,7 @@ protected void doWriteTo(StreamOutput out) throws IOException {
100103
/**
101104
* @return the field name for this query
102105
*/
106+
@Override
103107
public String fieldName() {
104108
return this.fieldName;
105109
}

server/src/main/java/org/opensearch/index/query/GeoBoundingBoxQueryBuilder.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
*
6767
* @opensearch.internal
6868
* */
69-
public class GeoBoundingBoxQueryBuilder extends AbstractQueryBuilder<GeoBoundingBoxQueryBuilder> {
69+
public class GeoBoundingBoxQueryBuilder extends AbstractQueryBuilder<GeoBoundingBoxQueryBuilder> implements WithFieldName {
7070
public static final String NAME = "geo_bounding_box";
7171

7272
/** Default type for executing this query (memory as of this writing). */
@@ -263,6 +263,7 @@ public GeoExecType type() {
263263
}
264264

265265
/** Returns the name of the field to base the bounding box computation on. */
266+
@Override
266267
public String fieldName() {
267268
return this.fieldName;
268269
}

server/src/main/java/org/opensearch/index/query/GeoDistanceQueryBuilder.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
*
6464
* @opensearch.internal
6565
*/
66-
public class GeoDistanceQueryBuilder extends AbstractQueryBuilder<GeoDistanceQueryBuilder> {
66+
public class GeoDistanceQueryBuilder extends AbstractQueryBuilder<GeoDistanceQueryBuilder> implements WithFieldName {
6767
public static final String NAME = "geo_distance";
6868

6969
/** Default for distance unit computation. */
@@ -129,6 +129,7 @@ protected void doWriteTo(StreamOutput out) throws IOException {
129129
}
130130

131131
/** Name of the field this query is operating on. */
132+
@Override
132133
public String fieldName() {
133134
return this.fieldName;
134135
}

server/src/main/java/org/opensearch/index/query/GeoPolygonQueryBuilder.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
*
6262
* @opensearch.internal
6363
*/
64-
public class GeoPolygonQueryBuilder extends AbstractQueryBuilder<GeoPolygonQueryBuilder> {
64+
public class GeoPolygonQueryBuilder extends AbstractQueryBuilder<GeoPolygonQueryBuilder> implements WithFieldName {
6565
public static final String NAME = "geo_polygon";
6666

6767
/**
@@ -131,6 +131,7 @@ protected void doWriteTo(StreamOutput out) throws IOException {
131131
out.writeBoolean(ignoreUnmapped);
132132
}
133133

134+
@Override
134135
public String fieldName() {
135136
return fieldName;
136137
}

server/src/main/java/org/opensearch/index/query/MatchBoolPrefixQueryBuilder.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
*
6262
* @opensearch.internal
6363
*/
64-
public class MatchBoolPrefixQueryBuilder extends AbstractQueryBuilder<MatchBoolPrefixQueryBuilder> {
64+
public class MatchBoolPrefixQueryBuilder extends AbstractQueryBuilder<MatchBoolPrefixQueryBuilder> implements WithFieldName {
6565

6666
public static final String NAME = "match_bool_prefix";
6767

@@ -127,6 +127,7 @@ protected void doWriteTo(StreamOutput out) throws IOException {
127127
}
128128

129129
/** Returns the field name used in this query. */
130+
@Override
130131
public String fieldName() {
131132
return this.fieldName;
132133
}

server/src/main/java/org/opensearch/index/query/MatchPhrasePrefixQueryBuilder.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
*
5454
* @opensearch.internal
5555
*/
56-
public class MatchPhrasePrefixQueryBuilder extends AbstractQueryBuilder<MatchPhrasePrefixQueryBuilder> {
56+
public class MatchPhrasePrefixQueryBuilder extends AbstractQueryBuilder<MatchPhrasePrefixQueryBuilder> implements WithFieldName {
5757
public static final String NAME = "match_phrase_prefix";
5858
public static final ParseField MAX_EXPANSIONS_FIELD = new ParseField("max_expansions");
5959
public static final ParseField ZERO_TERMS_QUERY_FIELD = new ParseField("zero_terms_query");
@@ -109,6 +109,7 @@ protected void doWriteTo(StreamOutput out) throws IOException {
109109
}
110110

111111
/** Returns the field name used in this query. */
112+
@Override
112113
public String fieldName() {
113114
return this.fieldName;
114115
}

server/src/main/java/org/opensearch/index/query/MatchPhraseQueryBuilder.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
*
5353
* @opensearch.internal
5454
*/
55-
public class MatchPhraseQueryBuilder extends AbstractQueryBuilder<MatchPhraseQueryBuilder> {
55+
public class MatchPhraseQueryBuilder extends AbstractQueryBuilder<MatchPhraseQueryBuilder> implements WithFieldName {
5656
public static final String NAME = "match_phrase";
5757
public static final ParseField SLOP_FIELD = new ParseField("slop");
5858
public static final ParseField ZERO_TERMS_QUERY_FIELD = new ParseField("zero_terms_query");
@@ -100,6 +100,7 @@ protected void doWriteTo(StreamOutput out) throws IOException {
100100
}
101101

102102
/** Returns the field name used in this query. */
103+
@Override
103104
public String fieldName() {
104105
return this.fieldName;
105106
}

server/src/main/java/org/opensearch/index/query/MatchQueryBuilder.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
*
5757
* @opensearch.internal
5858
*/
59-
public class MatchQueryBuilder extends AbstractQueryBuilder<MatchQueryBuilder> {
59+
public class MatchQueryBuilder extends AbstractQueryBuilder<MatchQueryBuilder> implements WithFieldName {
6060

6161
private static final String CUTOFF_FREQUENCY_DEPRECATION_MSG = "you can omit this option, "
6262
+ "the [match] query can skip block of documents efficiently if the total number of hits is not tracked";
@@ -171,6 +171,7 @@ protected void doWriteTo(StreamOutput out) throws IOException {
171171
}
172172

173173
/** Returns the field name used in this query. */
174+
@Override
174175
public String fieldName() {
175176
return this.fieldName;
176177
}

server/src/main/java/org/opensearch/index/query/MultiTermQueryBuilder.java

+1-6
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,4 @@
3636
*
3737
* @opensearch.internal
3838
*/
39-
public interface MultiTermQueryBuilder extends QueryBuilder {
40-
/**
41-
* Get the field name for this query.
42-
*/
43-
String fieldName();
44-
}
39+
public interface MultiTermQueryBuilder extends QueryBuilder, WithFieldName {}

server/src/main/java/org/opensearch/index/query/SpanNearQueryBuilder.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ public void visit(QueryBuilderVisitor visitor) {
322322
*
323323
* @opensearch.internal
324324
*/
325-
public static class SpanGapQueryBuilder implements SpanQueryBuilder {
325+
public static class SpanGapQueryBuilder implements SpanQueryBuilder, WithFieldName {
326326
public static final String NAME = "span_gap";
327327

328328
/** Name of field to match against. */
@@ -358,6 +358,7 @@ public SpanGapQueryBuilder(StreamInput in) throws IOException {
358358
/**
359359
* @return fieldName The name of the field
360360
*/
361+
@Override
361362
public String fieldName() {
362363
return fieldName;
363364
}

server/src/main/java/org/opensearch/index/query/TermsQueryBuilder.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
*
8080
* @opensearch.internal
8181
*/
82-
public class TermsQueryBuilder extends AbstractQueryBuilder<TermsQueryBuilder> {
82+
public class TermsQueryBuilder extends AbstractQueryBuilder<TermsQueryBuilder> implements WithFieldName {
8383
public static final String NAME = "terms";
8484

8585
private final String fieldName;
@@ -269,6 +269,7 @@ protected void doWriteTo(StreamOutput out) throws IOException {
269269
}
270270
}
271271

272+
@Override
272273
public String fieldName() {
273274
return this.fieldName;
274275
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/*
2+
* SPDX-License-Identifier: Apache-2.0
3+
*
4+
* The OpenSearch Contributors require contributions made to
5+
* this file be licensed under the Apache-2.0 license or a
6+
* compatible open source license.
7+
*/
8+
9+
package org.opensearch.index.query;
10+
11+
/**
12+
* Interface for classes with a fieldName method
13+
*
14+
* @opensearch.internal
15+
*/
16+
public interface WithFieldName {
17+
/**
18+
* Get the field name for this query.
19+
*/
20+
String fieldName();
21+
}

0 commit comments

Comments
 (0)