@1234567890
2017-05-22T13:38:11.000000Z
字数 3305
阅读 1898
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