Skip to content

Commit ee4bcac

Browse files
Added optional parameters to QSTR ES|QL function (elastic#121787)
Adds options to QSTR function. elastic#118619 added named function parameters. This PR uses this mechanism for allowing query string function parameters, so query string parameters can be used in ES|QL. Closes elastic#120933
1 parent 5b2ea77 commit ee4bcac

File tree

17 files changed

+772
-102
lines changed

17 files changed

+772
-102
lines changed

docs/changelog/121787.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
pr: 121787
2+
summary: Added optional parameters to QSTR ES|QL function
3+
area: Search
4+
type: feature
5+
issues:
6+
- 120933

docs/reference/esql/functions/functionNamedParams/qstr.asciidoc

Lines changed: 29 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/esql/functions/kibana/definition/qstr.json

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

server/src/main/java/org/elasticsearch/index/query/QueryStringQueryBuilder.java

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -61,30 +61,32 @@ public final class QueryStringQueryBuilder extends AbstractQueryBuilder<QueryStr
6161
public static final MultiMatchQueryBuilder.Type DEFAULT_TYPE = MultiMatchQueryBuilder.Type.BEST_FIELDS;
6262
public static final boolean DEFAULT_FUZZY_TRANSPOSITIONS = FuzzyQuery.defaultTranspositions;
6363

64-
private static final ParseField QUERY_FIELD = new ParseField("query");
65-
private static final ParseField FIELDS_FIELD = new ParseField("fields");
66-
private static final ParseField DEFAULT_FIELD_FIELD = new ParseField("default_field");
67-
private static final ParseField DEFAULT_OPERATOR_FIELD = new ParseField("default_operator");
68-
private static final ParseField ANALYZER_FIELD = new ParseField("analyzer");
69-
private static final ParseField QUOTE_ANALYZER_FIELD = new ParseField("quote_analyzer");
70-
private static final ParseField ALLOW_LEADING_WILDCARD_FIELD = new ParseField("allow_leading_wildcard");
71-
private static final ParseField MAX_DETERMINIZED_STATES_FIELD = new ParseField("max_determinized_states");
72-
private static final ParseField ENABLE_POSITION_INCREMENTS_FIELD = new ParseField("enable_position_increments");
73-
private static final ParseField ESCAPE_FIELD = new ParseField("escape");
74-
private static final ParseField FUZZY_PREFIX_LENGTH_FIELD = new ParseField("fuzzy_prefix_length");
75-
private static final ParseField FUZZY_MAX_EXPANSIONS_FIELD = new ParseField("fuzzy_max_expansions");
76-
private static final ParseField FUZZY_REWRITE_FIELD = new ParseField("fuzzy_rewrite");
77-
private static final ParseField PHRASE_SLOP_FIELD = new ParseField("phrase_slop");
78-
private static final ParseField TIE_BREAKER_FIELD = new ParseField("tie_breaker");
79-
private static final ParseField ANALYZE_WILDCARD_FIELD = new ParseField("analyze_wildcard");
80-
private static final ParseField REWRITE_FIELD = new ParseField("rewrite");
81-
private static final ParseField MINIMUM_SHOULD_MATCH_FIELD = new ParseField("minimum_should_match");
82-
private static final ParseField QUOTE_FIELD_SUFFIX_FIELD = new ParseField("quote_field_suffix");
83-
private static final ParseField LENIENT_FIELD = new ParseField("lenient");
84-
private static final ParseField TIME_ZONE_FIELD = new ParseField("time_zone");
85-
private static final ParseField TYPE_FIELD = new ParseField("type");
86-
private static final ParseField GENERATE_SYNONYMS_PHRASE_QUERY = new ParseField("auto_generate_synonyms_phrase_query");
87-
private static final ParseField FUZZY_TRANSPOSITIONS_FIELD = new ParseField("fuzzy_transpositions");
64+
public static final ParseField QUERY_FIELD = new ParseField("query");
65+
public static final ParseField BOOST_FIELD = new ParseField("boost");
66+
public static final ParseField FIELDS_FIELD = new ParseField("fields");
67+
public static final ParseField DEFAULT_FIELD_FIELD = new ParseField("default_field");
68+
public static final ParseField DEFAULT_OPERATOR_FIELD = new ParseField("default_operator");
69+
public static final ParseField ANALYZER_FIELD = new ParseField("analyzer");
70+
public static final ParseField QUOTE_ANALYZER_FIELD = new ParseField("quote_analyzer");
71+
public static final ParseField ALLOW_LEADING_WILDCARD_FIELD = new ParseField("allow_leading_wildcard");
72+
public static final ParseField MAX_DETERMINIZED_STATES_FIELD = new ParseField("max_determinized_states");
73+
public static final ParseField ENABLE_POSITION_INCREMENTS_FIELD = new ParseField("enable_position_increments");
74+
public static final ParseField ESCAPE_FIELD = new ParseField("escape");
75+
public static final ParseField FUZZINESS_FIELD = new ParseField("fuzziness");
76+
public static final ParseField FUZZY_PREFIX_LENGTH_FIELD = new ParseField("fuzzy_prefix_length");
77+
public static final ParseField FUZZY_MAX_EXPANSIONS_FIELD = new ParseField("fuzzy_max_expansions");
78+
public static final ParseField FUZZY_REWRITE_FIELD = new ParseField("fuzzy_rewrite");
79+
public static final ParseField PHRASE_SLOP_FIELD = new ParseField("phrase_slop");
80+
public static final ParseField TIE_BREAKER_FIELD = new ParseField("tie_breaker");
81+
public static final ParseField ANALYZE_WILDCARD_FIELD = new ParseField("analyze_wildcard");
82+
public static final ParseField REWRITE_FIELD = new ParseField("rewrite");
83+
public static final ParseField MINIMUM_SHOULD_MATCH_FIELD = new ParseField("minimum_should_match");
84+
public static final ParseField QUOTE_FIELD_SUFFIX_FIELD = new ParseField("quote_field_suffix");
85+
public static final ParseField LENIENT_FIELD = new ParseField("lenient");
86+
public static final ParseField TIME_ZONE_FIELD = new ParseField("time_zone");
87+
public static final ParseField TYPE_FIELD = new ParseField("type");
88+
public static final ParseField GENERATE_SYNONYMS_PHRASE_QUERY = new ParseField("auto_generate_synonyms_phrase_query");
89+
public static final ParseField FUZZY_TRANSPOSITIONS_FIELD = new ParseField("fuzzy_transpositions");
8890

8991
private final String queryString;
9092

0 commit comments

Comments
 (0)