@1234567890
2017-05-22T13:38:11.000000Z
字数 3305
阅读 2006
ES
curl -XPOST 'localhost:9200/bank/account/_search?pretty' -d '{"query": { "match_all": {} }}'
QueryBuilder qb = QueryBuilders.matchAllQuery();SearchResponse searchResponse = client.prepareSearch("bank").setTypes("account").setQuery(qb).get();
select * from account limit 0,10
curl -XPOST 'localhost:9200/bank/account/_search?pretty' -d '{"query": { "match_all": {} },"from": 20,"size": 40}'
QueryBuilder qb = QueryBuilders.matchAllQuery();SearchResponse searchResponse = client.prepareSearch("bank").setTypes("account").setQuery(qb).setFrom(20).setSize(20).get();
select * from account limit 20,20
curl -XPOST 'localhost:9200/bank/account/_search?pretty' -d '{"query": { "match_all": {} },"sort": { "age": { "order": "desc" } }}'
QueryBuilder qb = QueryBuilders.matchAllQuery();SortBuilder sb = SortBuilders.fieldSort("age").order(SortOrder.DESC);SearchResponse searchResponse = client.prepareSearch("bank").setTypes("account").setQuery(qb).addSort(sb).get();
select * from account order by age desc limit 0,10
QueryBuilder qb = QueryBuilders.matchAllQuery();SearchSourceBuilder ssb = new SearchSourceBuilder();ssb.docValueField("age");SearchResponse searchResponse = client.prepareSearch("bank").setTypes("account").setQuery(qb).setSource(ssb).get();
select age from account
curl -XPOST 'localhost:9200/bank/account/_search?pretty' -d '{"query": {"bool": {"should": [{ "match": { "firstname": "sargent" } },{ "match": { "lastname": "ayala" } }]}}}'
QueryBuilder qb1 = QueryBuilders.termQuery("firstname", "sargent");QueryBuilder qb2 = QueryBuilders.termQuery("lastname", "ayala");QueryBuilder qb = QueryBuilders.boolQuery().should(qb1).should(qb2);SearchResponse searchResponse = client.prepareSearch("bank").setTypes("account").setQuery(qb).get();
select * from account where firstname = 'sargent' or lastname='ayala' limit 0,10
curl -XPOST 'localhost:9200/top_user/_search?pretty' -d '{"query": {"filtered": {"query": { "match_all": {} },"filter": {"range": {"age": {"gte": 20,"lte": 40}}}}}}'
QueryBuilder qb = QueryBuilders.rangeQuery("age").gt(20).lt(40);SearchResponse searchResponse = client.prepareSearch("bank").setTypes("account").setPostFilter(qb).get();
select * from account where age >=20 and age <=40 limit 0,10
curl -XPOST 'localhost:9200/top_user/_search?pretty' -d '{"size": 0,"aggs": {"group_by_city": {"terms": {"field": "age","order":{"_count":"desc"}}}}}'
AggregationBuilder aggs = AggregationBuilders.terms("group_by_age").order(Terms.Order.term(false)).field("age");SearchResponse searchResponse = client.prepareSearch("bank").setTypes("account").setSize(0).addAggregation(aggs).get();
select count(*) from account group by age order by count(*) desc
curl -XPOST 'localhost:9200/top_user/_search?pretty' -d '{"size": 0,"aggs": {"group_by_gender": {"terms": {"field": "gender","order": {"average_score": "desc"}},"aggs": {"average_age": {"avg": {"field": "age"}}}}}}'
AggregationBuilder sub = AggregationBuilders.avg("avg_age").field("age");AggregationBuilder aggs = AggregationBuilders.terms("group_by_gender").field("gender").subAggregation(sub);SearchResponse searchResponse = client.prepareSearch("bank").setTypes("account").setSize(0).addAggregation(aggs).get();
select avg(age) as avg_age from account group by gender order by avg_age desc