2929 */
3030public class RegexpQueryBuilder extends MultiTermQueryBuilder implements BoostableQueryBuilder <RegexpQueryBuilder > {
3131
32- private final String name ;
33- private final String regexp ;
32+ private final String fieldName ;
33+ private final Object value ;
3434
3535 private int flags = -1 ;
3636 private float boost = -1 ;
@@ -40,14 +40,75 @@ public class RegexpQueryBuilder extends MultiTermQueryBuilder implements Boostab
4040 private boolean maxDetermizedStatesSet ;
4141
4242 /**
43- * Constructs a new term query.
43+ * Constructs a new regex query.
4444 *
45- * @param name The name of the field
46- * @param regexp The regular expression
45+ * @param fieldName The name of the field
46+ * @param value The regular expression
4747 */
48- public RegexpQueryBuilder (String name , String regexp ) {
49- this .name = name ;
50- this .regexp = regexp ;
48+ public RegexpQueryBuilder (String fieldName , String value ) {
49+ this (fieldName , (Object ) value );
50+ }
51+
52+ /**
53+ * Constructs a new regex query.
54+ *
55+ * @param fieldName The name of the field
56+ * @param value The regular expression
57+ */
58+ public RegexpQueryBuilder (String fieldName , int value ) {
59+ this (fieldName , (Object ) value );
60+ }
61+
62+ /**
63+ * Constructs a new regex query.
64+ *
65+ * @param fieldName The name of the field
66+ * @param value The regular expression
67+ */
68+ public RegexpQueryBuilder (String fieldName , long value ) {
69+ this (fieldName , (Object ) value );
70+ }
71+
72+ /**
73+ * Constructs a new regex query.
74+ *
75+ * @param fieldName The name of the field
76+ * @param value The regular expression
77+ */
78+ public RegexpQueryBuilder (String fieldName , float value ) {
79+ this (fieldName , (Object ) value );
80+ }
81+
82+ /**
83+ * Constructs a new regex query.
84+ *
85+ * @param fieldName The name of the field
86+ * @param value The regular expression
87+ */
88+ public RegexpQueryBuilder (String fieldName , double value ) {
89+ this (fieldName , (Object ) value );
90+ }
91+
92+ /**
93+ * Constructs a new regex query.
94+ *
95+ * @param fieldName The name of the field
96+ * @param value The regular expression
97+ */
98+ public RegexpQueryBuilder (String fieldName , boolean value ) {
99+ this (fieldName , (Object ) value );
100+ }
101+
102+ /**
103+ * Constructs a new regex query.
104+ * In case value is assigned to a string, we internally convert it to a {@link org.apache.lucene.util.BytesRef}
105+ *
106+ * @param fieldName The name of the field
107+ * @param value The regular expression
108+ */
109+ public RegexpQueryBuilder (String fieldName , Object value ) {
110+ this .fieldName = fieldName ;
111+ this .value = value ;
51112 }
52113
53114 /**
@@ -98,8 +159,8 @@ public RegexpQueryBuilder queryName(String queryName) {
98159 @ Override
99160 public void doXContent (XContentBuilder builder , Params params ) throws IOException {
100161 builder .startObject (RegexpQueryParser .NAME );
101- builder .startObject (name );
102- builder .field ("value" , regexp );
162+ builder .startObject (fieldName );
163+ builder .field ("value" , value );
103164 if (flags != -1 ) {
104165 builder .field ("flags_value" , flags );
105166 }
0 commit comments