Skip to content

Commit cdb9c32

Browse files
committed
es 6.8.0 support
1 parent cb36569 commit cdb9c32

File tree

10 files changed

+26
-6
lines changed

10 files changed

+26
-6
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ before_install:
77
# update to java 8
88
- sudo update-java-alternatives -s java-8-oracle
99
- export JAVA_HOME=/usr/lib/jvm/java-8-oracle
10-
- wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.2.deb && sudo dpkg -i --force-confnew elasticsearch-6.7.2.deb
10+
- wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.0.deb && sudo dpkg -i --force-confnew elasticsearch-6.8.0.deb
1111
- sudo cp ./src/test/resources/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml
1212
- sudo cat /etc/elasticsearch/elasticsearch.yml
1313
- sudo java -version

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>6.7.2.0</version>
6+
<version>6.8.0.0</version>
77
<packaging>jar</packaging>
88
<description>Query elasticsearch using SQL</description>
99
<name>elasticsearch-sql</name>
@@ -44,7 +44,7 @@
4444
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
4545
<runSuite>**/MainTestSuite.class</runSuite>
4646
<elasticsearch.plugin.name>sql</elasticsearch.plugin.name>
47-
<elasticsearch.version>6.7.2</elasticsearch.version>
47+
<elasticsearch.version>6.8.0</elasticsearch.version>
4848
<elasticsearch.plugin.classname>org.elasticsearch.plugin.nlpcn.SqlPlug</elasticsearch.plugin.classname>
4949
<druid.version>1.1.16</druid.version>
5050
<guava.version>15.0</guava.version>

src/main/java/org/nlpcn/es4sql/domain/JoinSelect.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class JoinSelect {
1919
private List<Condition> connectedConditions;
2020
private int totalLimit;
2121

22-
private final int DEAFULT_NUM_OF_RESULTS = 200;
22+
public static int DEAFULT_NUM_OF_RESULTS = 200;
2323

2424
private SQLJoinTableSource.JoinType joinType;
2525

src/main/java/org/nlpcn/es4sql/domain/Select.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
*/
1515
public class Select extends Query {
1616

17-
public static final int DEFAULT_ROWCOUNT = 1000;
17+
public static int DEFAULT_ROWCOUNT = 1000;
1818

1919
// Using this functions, will cause query to execute as aggregation.
2020
private final List<String> aggsFunctions = Arrays.asList("SUM", "MAX", "MIN", "AVG", "TOPHITS", "COUNT", "STATS","EXTENDED_STATS","PERCENTILES","SCRIPTED_METRIC");

src/main/java/org/nlpcn/es4sql/domain/hints/HintFactory.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,10 @@ public static Hint getHintFromString(String hintAsString) throws SqlParseExcepti
159159
String conflictsParam = getParamFromHint(hintAsString, "! CONFLICTS");
160160
return new Hint(HintType.CONFLICTS, new String[] { conflictsParam });
161161
}
162+
if (hintAsString.startsWith("! PREFERENCE")) {
163+
String preferenceParam = getParamFromHint(hintAsString, "! PREFERENCE");
164+
return new Hint(HintType.PREFERENCE, new String[]{preferenceParam});
165+
}
162166

163167
return null;
164168
}

src/main/java/org/nlpcn/es4sql/domain/hints/HintType.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,6 @@ public enum HintType
2020
COLLAPSE,
2121
POST_FILTER,
2222
STATS,
23-
CONFLICTS
23+
CONFLICTS,
24+
PREFERENCE
2425
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,7 @@ public SqlElasticSearchRequestBuilder explain() throws SqlParseException {
218218
updateRequestWithCollapse(select, request);
219219
updateRequestWithPostFilter(select, request);
220220
updateRequestWithStats(select, request);
221+
updateRequestWithPreference(select, request);
221222
SqlElasticSearchRequestBuilder sqlElasticRequestBuilder = new SqlElasticSearchRequestBuilder(request);
222223
return sqlElasticRequestBuilder;
223224
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ public SqlElasticSearchRequestBuilder explain() throws SqlParseException {
9191
updateRequestWithCollapse(select, request);
9292
updateRequestWithPostFilter(select, request);
9393
updateRequestWithStats(select, request);
94+
updateRequestWithPreference(select, request);
9495
SqlElasticSearchRequestBuilder sqlElasticRequestBuilder = new SqlElasticSearchRequestBuilder(request);
9596

9697
return sqlElasticRequestBuilder;

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,14 @@ protected void updateRequestWithIndexAndRoutingOptions(Select select, SearchRequ
8181
}
8282
}
8383

84+
protected void updateRequestWithPreference(Select select, SearchRequestBuilder request) {
85+
for (Hint hint : select.getHints()) {
86+
if (hint.getType() == HintType.PREFERENCE && hint.getParams() != null && 0 < hint.getParams().length) {
87+
request.setPreference(hint.getParams()[0].toString());
88+
}
89+
}
90+
}
91+
8492
protected void updateRequestWithHighlight(Select select, SearchRequestBuilder request) {
8593
boolean foundAnyHighlights = false;
8694
HighlightBuilder highlightBuilder = new HighlightBuilder();

src/test/java/org/nlpcn/es4sql/ExplainTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,11 @@ public void testCastInWhereExplain() throws SqlParseException, SQLFeatureNotSupp
114114
System.out.println(explain("select * from file1 where cast(offset as int) > 20"));
115115
}
116116

117+
@Test
118+
public void testPreferenceExplain() throws SqlParseException, SQLFeatureNotSupportedException {
119+
System.out.println(explain("select /*! PREFERENCE(_shards:2,3|_local) */ * from myindex"));
120+
}
121+
117122
private String explain(String sql) throws SQLFeatureNotSupportedException, SqlParseException {
118123
SearchDao searchDao = MainTestSuite.getSearchDao();
119124
SqlElasticRequestBuilder requestBuilder = searchDao.explain(sql).explain();

0 commit comments

Comments
 (0)