org.nlpcn.es4sql.Test Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of elasticsearch-sql Show documentation
Show all versions of elasticsearch-sql Show documentation
Query elasticsearch using SQL
The newest version!
package org.nlpcn.es4sql;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.node.NodeClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.util.concurrent.ThreadContext;
import org.elasticsearch.threadpool.ThreadPool;
import java.util.HashMap;
import java.util.Map;
/**
* Created by allwefantasy on 8/18/16.
*/
public class Test {
public static String sqlToEsQuery(String sql) throws Exception {
Map actions = new HashMap();
Settings settings = Settings.builder().build();
// Client client = new NodeClient(settings, null, null, actions);
// Settings.builder()
// .put(ThreadContext.PREFIX + ".key1", "val1")
// .put(ThreadContext.PREFIX + ".key2", "val 2")
// .build();
ThreadPool threadPool = new ThreadPool(settings);
Client client = new NodeClient(settings, threadPool);
SearchDao searchDao = new org.nlpcn.es4sql.SearchDao(client);
try {
return searchDao.explain(sql).explain().explain();
} catch (Exception e) {
throw e;
}
}
public static void main(String[] args) throws Exception {
String sql = "SELECT u as u2,count(distinct(mid)) as count FROM panda_quality where ty='buffer' and day='20160816' and tm>1471312800.00 and tm<1471313100.00 and domain='http://pl10.live.panda.tv' group by u order by count desc limit 5000";
// sql = "SELECT sum(num) as num2,newtype as nt from twitter2 group by nt order by num2 ";
// System.out.println("sql" + sql + ":\n" + sqlToEsQuery(sql));
//
// sql = "SELECT sum(num_d) as num2,split(newtype,',') as nt from twitter2 group by nt order by num2 ";
//
// System.out.println("sql" + sql + ":\n" + sqlToEsQuery(sql));
//
// sql = "SELECT newtype as nt from twitter2 ";
//
// System.out.println("sql" + sql + ":\n----------\n" + sqlToEsQuery(sql));
//
// sql = "SELECT sum(num_d) as num2,floor(num) as nt from twitter2 group by floor(num),newtype order by num2 ";
//
// System.out.println("sql" + sql + ":\n----------\n" + sqlToEsQuery(sql));
//
// sql = "SELECT split('newtype','b')[1] as nt,sum(num_d) as num2 from twitter2 group by nt ";
//
// System.out.println("sql" + sql + ":\n----------\n" + sqlToEsQuery(sql));
//
// sql = "SELECT concat_ws('dd','newtype','num_d') as num2 from twitter2";
// System.out.println("sql" + sql + ":\n----------\n" + sqlToEsQuery(sql));
//
// sql = "SELECT split(split('newtype','c')[0],'b')[0] as num2 from twitter2";
// System.out.println("sql" + sql + ":\n----------\n" + sqlToEsQuery(sql));
//
// sql = "SELECT floor(split(substring('newtype',0,3),'c')[0]) as num2 from twitter2";
// System.out.println("sql" + sql + ":\n----------\n" + sqlToEsQuery(sql));
//
// sql = "SELECT split(substring('newtype',0,3),'c')[0] as nt,num_d from twitter2 group by nt";
// System.out.println("sql" + sql + ":\n----------\n" + sqlToEsQuery(sql));
//
// sql = "SELECT floor(num_d) as nt from twitter2 ";
// System.out.println("sql" + sql + ":\n----------\n" + sqlToEsQuery(sql));
//
// sql = "SELECT trim(newtype) as nt from twitter2 ";
// System.out.println("sql" + sql + ":\n----------\n" + sqlToEsQuery(sql));
//
// sql = "SELECT trim(concat_ws('dd',newtype,num_d)) as nt from twitter2 ";
// System.out.println("sql" + sql + ":\n----------\n" + sqlToEsQuery(sql));
//
//
// sql = "SELECT split(trim(concat_ws('dd',newtype,num_d)),'dd')[0] as nt from twitter2 ";
// System.out.println("sql" + sql + ":\n----------\n" + sqlToEsQuery(sql));
sql = "SELECT floor(" +
"floor(substring(newtype,0,14)/100)/5)*5 as key," +
"count(distinct(num)) cvalue FROM twitter2 " +
"group by key ";
String TEST_INDEX = "elasticsearch-sql_test_index";
sql = "select * from xxx/locs where 'a' = 'b' and a > 1";
System.out.println("sql" + sql + ":\n----------\n" + sqlToEsQuery(sql));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy