Skip to content

Commit f6d0f47

Browse files
committed
add testcase for NLPchina#862
1 parent 30fb22f commit f6d0f47

File tree

3 files changed

+23
-16
lines changed

3 files changed

+23
-16
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
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.5.4.4</version>
6+
<version>6.5.4.5</version>
77
<packaging>jar</packaging>
88
<description>Query elasticsearch using SQL</description>
99
<name>elasticsearch-sql</name>

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

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -187,12 +187,11 @@ public SqlElasticSearchRequestBuilder explain() throws SqlParseException {
187187
switch (temp.key) {
188188
case "COUNT":
189189
String orderName = order.getName();
190-
if(isAliasFiled(orderName)) {
191-
termsBuilder.order(BucketOrder.aggregation(orderName, isASC(order)));
192-
}else {
193-
termsBuilder.order(BucketOrder.count(isASC(order)));
194-
}
195-
190+
if (isAliasFiled(orderName)) {
191+
termsBuilder.order(BucketOrder.aggregation(orderName, isASC(order)));
192+
} else {
193+
termsBuilder.order(BucketOrder.count(isASC(order)));
194+
}
196195
break;
197196
case "KEY":
198197
termsBuilder.order(BucketOrder.key(isASC(order)));
@@ -481,16 +480,19 @@ private void setLimitFromHint(List<Hint> hints) {
481480
request.setFrom(from);
482481
request.setSize(size);
483482
}
484-
//判断某个字段名称是否是别名
483+
484+
/**
485+
* 判断某个字段名称是否是别名
486+
*/
485487
private boolean isAliasFiled(String filedName) {
486-
if(select.getFields().size() > 0) {
487-
for (Field field : select.getFields()) {
488-
if(null !=field.getAlias() && field.getAlias().equals(filedName)) {
489-
return true;
490-
}
491-
}
492-
}
493-
return false;
488+
if (select.getFields().size() > 0) {
489+
for (Field field : select.getFields()) {
490+
if (null != field.getAlias() && field.getAlias().equals(filedName)) {
491+
return true;
492+
}
493+
}
494+
}
495+
return false;
494496
}
495497

496498
}

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,11 @@ public void testSpanNearQueryExplain() throws SqlParseException, SQLFeatureNotSu
9696
System.out.println(explain("SELECT * FROM index WHERE q=span_near(boost=10.0,slop=12,in_order=false,clauses='[{\"span_term\":{\"field\":\"value1\"}},{\"span_term\":{\"field\":\"value2\"}},{\"span_term\":{\"field\":\"value3\"}}]')"));
9797
}
9898

99+
@Test
100+
public void testCountDistinctExplain() throws SqlParseException, SQLFeatureNotSupportedException {
101+
System.out.println(explain("SELECT COUNT(DISTINCT sourceIP.keyword) AS size FROM dataflow WHERE startTime > 525757149439 AND startTime < 1525757449439 GROUP BY appName.keyword ORDER BY size DESC"));
102+
}
103+
99104
private String explain(String sql) throws SQLFeatureNotSupportedException, SqlParseException {
100105
SearchDao searchDao = MainTestSuite.getSearchDao();
101106
SqlElasticRequestBuilder requestBuilder = searchDao.explain(sql).explain();

0 commit comments

Comments
 (0)