Skip to content

Commit fe51932

Browse files
committed
es 5.1.1 support
script api changed
1 parent 1da85f2 commit fe51932

File tree

5 files changed

+25
-25
lines changed

5 files changed

+25
-25
lines changed

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>org.nlpcn</groupId>
55
<artifactId>elasticsearch-sql</artifactId>
6-
<version>5.0.1.0</version>
6+
<version>5.1.1.0</version>
77
<packaging>jar</packaging>
88
<description>Query elasticsearch using SQL</description>
99
<name>elasticsearch-sql</name>
@@ -47,7 +47,7 @@
4747
<elasticsearch.plugin.name>sql</elasticsearch.plugin.name>
4848
<elasticsearch.plugin.site>true</elasticsearch.plugin.site>
4949
<elasticsearch.plugin.jvm>true</elasticsearch.plugin.jvm>
50-
<elasticsearch.version>5.0.1</elasticsearch.version>
50+
<elasticsearch.version>5.1.1</elasticsearch.version>
5151
<elasticsearch.plugin.classname>org.elasticsearch.plugin.nlpcn.SqlPlug</elasticsearch.plugin.classname>
5252
</properties>
5353

src/main/java/org/nlpcn/es4sql/parse/ScriptFilter.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr;
55
import com.alibaba.druid.sql.ast.expr.SQLMethodInvokeExpr;
66
import org.elasticsearch.script.ScriptService;
7+
import org.elasticsearch.script.ScriptType;
78
import org.nlpcn.es4sql.Util;
89
import org.nlpcn.es4sql.domain.Field;
910
import org.nlpcn.es4sql.domain.KVValue;
@@ -20,14 +21,14 @@
2021
public class ScriptFilter {
2122
private String script;
2223
private Map<String,Object> args;
23-
private ScriptService.ScriptType scriptType;
24+
private ScriptType scriptType;
2425
public ScriptFilter() {
2526

2627
args = null;
27-
scriptType = ScriptService.ScriptType.INLINE;
28+
scriptType = ScriptType.INLINE;
2829
}
2930

30-
public ScriptFilter(String script, Map<String, Object> args, ScriptService.ScriptType scriptType) {
31+
public ScriptFilter(String script, Map<String, Object> args, ScriptType scriptType) {
3132
this.script = script;
3233
this.args = args;
3334
this.scriptType = scriptType;
@@ -77,14 +78,14 @@ private void parseAndUpdateScriptType(String scriptType) {
7778
String scriptTypeUpper = scriptType.toUpperCase();
7879
switch(scriptTypeUpper){
7980
case "INLINE":
80-
this.scriptType = ScriptService.ScriptType.INLINE;
81+
this.scriptType = ScriptType.INLINE;
8182
break;
8283
case "INDEXED":
8384
case "STORED":
84-
this.scriptType = ScriptService.ScriptType.STORED;
85+
this.scriptType = ScriptType.STORED;
8586
break;
8687
case "FILE":
87-
this.scriptType = ScriptService.ScriptType.FILE;
88+
this.scriptType = ScriptType.FILE;
8889
break;
8990
}
9091
}
@@ -97,7 +98,7 @@ public String getScript() {
9798
return script;
9899
}
99100

100-
public ScriptService.ScriptType getScriptType() {
101+
public ScriptType getScriptType() {
101102
return scriptType;
102103
}
103104

src/main/java/org/nlpcn/es4sql/query/DefaultQueryAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.elasticsearch.index.query.QueryBuilders;
1111
import org.elasticsearch.script.Script;
1212
import org.elasticsearch.script.ScriptService;
13+
import org.elasticsearch.script.ScriptType;
1314
import org.elasticsearch.search.sort.FieldSortBuilder;
1415
import org.elasticsearch.search.sort.SortOrder;
1516
import org.nlpcn.es4sql.domain.*;
@@ -127,7 +128,7 @@ private void handleScriptField(MethodField method) throws SqlParseException {
127128
if (params.size() == 2) {
128129
request.addScriptField(params.get(0).value.toString(), new Script(params.get(1).value.toString()));
129130
} else if (params.size() == 3) {
130-
request.addScriptField(params.get(0).value.toString(), new Script(params.get(1).value.toString(), ScriptService.ScriptType.INLINE, params.get(2).value.toString(), null));
131+
request.addScriptField(params.get(0).value.toString(), new Script(ScriptType.INLINE, params.get(1).value.toString(), params.get(2).value.toString(), null));
131132
} else {
132133
throw new SqlParseException("scripted_field only allows script(name,script) or script(name,lang,script)");
133134
}

src/main/java/org/nlpcn/es4sql/query/maker/AggMaker.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import org.elasticsearch.script.Script;
77
import org.elasticsearch.script.ScriptService;
8+
import org.elasticsearch.script.ScriptType;
89
import org.elasticsearch.search.aggregations.AbstractAggregationBuilder;
910
import org.elasticsearch.search.aggregations.AggregationBuilder;
1011
import org.elasticsearch.search.aggregations.AggregationBuilders;
@@ -319,37 +320,37 @@ private AbstractAggregationBuilder scriptedMetric(MethodField field) throws SqlP
319320
scriptedMetricBuilder.mapScript(new Script(paramValue));
320321
break;
321322
case "map_script_id":
322-
scriptedMetricBuilder.mapScript(new Script(paramValue, ScriptService.ScriptType.STORED, null, null));
323+
scriptedMetricBuilder.mapScript(new Script(ScriptType.STORED, Script.DEFAULT_SCRIPT_LANG,paramValue, new HashMap<String, Object>()));
323324
break;
324325
case "map_script_file":
325-
scriptedMetricBuilder.mapScript(new Script(paramValue, ScriptService.ScriptType.FILE, null, null));
326+
scriptedMetricBuilder.mapScript(new Script(ScriptType.FILE ,Script.DEFAULT_SCRIPT_LANG,paramValue, new HashMap<String, Object>()));
326327
break;
327328
case "init_script":
328329
scriptedMetricBuilder.initScript(new Script(paramValue));
329330
break;
330331
case "init_script_id":
331-
scriptedMetricBuilder.initScript(new Script(paramValue, ScriptService.ScriptType.STORED, null, null));
332+
scriptedMetricBuilder.initScript(new Script(ScriptType.STORED,Script.DEFAULT_SCRIPT_LANG,paramValue, new HashMap<String, Object>()));
332333
break;
333334
case "init_script_file":
334-
scriptedMetricBuilder.initScript(new Script(paramValue, ScriptService.ScriptType.FILE, null, null));
335+
scriptedMetricBuilder.initScript(new Script(ScriptType.FILE,Script.DEFAULT_SCRIPT_LANG,paramValue, new HashMap<String, Object>()));
335336
break;
336337
case "combine_script":
337338
scriptedMetricBuilder.combineScript(new Script(paramValue));
338339
break;
339340
case "combine_script_id":
340-
scriptedMetricBuilder.combineScript(new Script(paramValue, ScriptService.ScriptType.STORED, null, null));
341+
scriptedMetricBuilder.combineScript(new Script(ScriptType.STORED, Script.DEFAULT_SCRIPT_LANG,paramValue, new HashMap<String, Object>()));
341342
break;
342343
case "combine_script_file":
343-
scriptedMetricBuilder.combineScript(new Script(paramValue, ScriptService.ScriptType.FILE, null, null));
344+
scriptedMetricBuilder.combineScript(new Script(ScriptType.FILE, Script.DEFAULT_SCRIPT_LANG,paramValue, new HashMap<String, Object>()));
344345
break;
345346
case "reduce_script":
346-
scriptedMetricBuilder.reduceScript(new Script(paramValue, ScriptService.ScriptType.INLINE, null, reduceScriptAdditionalParams));
347+
scriptedMetricBuilder.reduceScript(new Script(ScriptType.INLINE, Script.DEFAULT_SCRIPT_LANG , paramValue, reduceScriptAdditionalParams));
347348
break;
348349
case "reduce_script_id":
349-
scriptedMetricBuilder.reduceScript(new Script(paramValue, ScriptService.ScriptType.STORED, null, reduceScriptAdditionalParams));
350+
scriptedMetricBuilder.reduceScript(new Script(ScriptType.STORED, Script.DEFAULT_SCRIPT_LANG,paramValue, reduceScriptAdditionalParams));
350351
break;
351352
case "reduce_script_file":
352-
scriptedMetricBuilder.reduceScript(new Script(paramValue, ScriptService.ScriptType.FILE, null, reduceScriptAdditionalParams));
353+
scriptedMetricBuilder.reduceScript(new Script(ScriptType.FILE, Script.DEFAULT_SCRIPT_LANG, paramValue, reduceScriptAdditionalParams));
353354
break;
354355
case "alias":
355356
case "nested":

src/main/java/org/nlpcn/es4sql/query/maker/Maker.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
package org.nlpcn.es4sql.query.maker;
22

33
import java.io.IOException;
4-
import java.util.ArrayList;
5-
import java.util.List;
6-
import java.util.Map;
7-
import java.util.Set;
4+
import java.util.*;
85

96
import com.alibaba.druid.sql.ast.SQLExpr;
107
import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr;
@@ -272,11 +269,11 @@ private ToXContent make(Condition cond, String name, Object value) throws SqlPar
272269
break;
273270
case SCRIPT:
274271
ScriptFilter scriptFilter = (ScriptFilter) value;
275-
Map<String, Object> params = null;
272+
Map<String, Object> params = new HashMap<>();
276273
if(scriptFilter.containsParameters()){
277274
params = scriptFilter.getArgs();
278275
}
279-
x = QueryBuilders.scriptQuery(new Script(scriptFilter.getScript(), scriptFilter.getScriptType(), null, params));
276+
x = QueryBuilders.scriptQuery(new Script(scriptFilter.getScriptType(), Script.DEFAULT_SCRIPT_LANG,scriptFilter.getScript(), params));
280277
break;
281278
default:
282279
throw new SqlParseException("not define type " + cond.getName());

0 commit comments

Comments
 (0)