spuerx 9 роки тому
батько
коміт
256d255cb4
1 змінених файлів з 53 додано та 17 видалено
  1. 53 17
      README.md

+ 53 - 17
README.md

@@ -97,8 +97,8 @@ SearchRequestBuilder searchReq = parseResult.toRequest(esClient);
 
 
 ## SQL使用示例
+下面index表示索引名,order表示文档类型名
 ```bash
-#下面index表示索引名,order表示文档类型名
 select * from index.order
 
 # 1. 默认从第0条数据开始,取15条
@@ -110,11 +110,13 @@ select * from index.order
     "match_all" : { }
   }
 }
+```
 
-# 带上分页参数查询
+用关键字limit指定分页参数
+```bash
 select * from index.order limit 0,100
 
-# 1. 分页参数从0开始取100条
+# 分页参数从0开始取100条
 {
   "from" : 0,
   "size" : 100,
@@ -122,8 +124,10 @@ select * from index.order limit 0,100
     "match_all" : { }
   }
 }
+```
 
-# where条件中带一个status参数
+SQL中指定查询条件  status = 'SUCCESS'
+```bash
 select * from index.order where status='SUCCESS' limit 0,100
 
 {
@@ -143,8 +147,10 @@ select * from index.order where status='SUCCESS' limit 0,100
     }
   }
 }
+```
 
-# totalPrice 范围查询
+范围查询  totalPrice > 1000
+```bash
 select * from index.order where status='SUCCESS' and totalPrice > 1000 limit 0,100
 
 {
@@ -173,8 +179,10 @@ select * from index.order where status='SUCCESS' and totalPrice > 1000 limit 0,1
     }
   }
 }
+```
 
-# between...and... 上下限都取
+使用 between...and... 指定条件范围(上下限都取)
+```bash
 select * from index.order where status='SUCCESS' and totalPrice between 1000 and 2000 limit 0,100
 
 {
@@ -203,10 +211,14 @@ select * from index.order where status='SUCCESS' and totalPrice between 1000 and
     }
   }
 }
+```
+
 
-# 日期范围查询,下面3条SQL等效
+日期类型范围查询,下面3条SQL等效
+```bash
 select * from index.order where status='SUCCESS' and lastUpdateTime > '2017-01-01 00:00:00' limit 0,100
 select * from index.order where status='SUCCESS' and lastUpdateTime > '2017-01-01' limit 0,100
+
 #日期函数可以自定义日期格式
 select * from index.order where status='SUCCESS' and lastUpdateTime > date('yyyy-MM-dd', '2017-01-01') limit 0,100
 
@@ -237,7 +249,10 @@ select * from index.order where status='SUCCESS' and lastUpdateTime > date('yyyy
   }
 }
 
-# 排序条件,price升序,publishDate降序
+```
+
+排序条件,price升序,publishDate降序
+```bash
 select * from index.order where status='SUCCESS' order by price asc, publishDate desc
 
 {
@@ -267,8 +282,11 @@ select * from index.order where status='SUCCESS' order by price asc, publishDate
   } ]
 }
 
-# 使用nvl函数指定默认值
-select * from index.order where status='SUCCESS' order by nvl(price,0) asc, publishDate desc
+```
+
+使用nvl函数指定默认值
+```bash
+select * from index.order where status='SUCCESS' order by nvl(price, 0) asc, publishDate desc
 
 {
   "from" : 0,
@@ -298,7 +316,10 @@ select * from index.order where status='SUCCESS' order by nvl(price,0) asc, publ
   } ]
 }
 
-#内嵌文档排序,指定sort_mode
+```
+
+内嵌文档排序,指定sort_mode(其中$providers 表示内嵌文档),按照 min 方式排序
+```bash
 select * from index.order where status='SUCCESS' order by nvl(product.$providers.sortNo, 0, 'min') asc, publishDate desc
 
 {
@@ -331,7 +352,10 @@ select * from index.order where status='SUCCESS' order by nvl(product.$providers
   } ]
 }
 
-# Inner Doc 查询
+```
+
+Inner Doc 查询
+```bash
 select * from index.order where seller.name='JD' order by id desc
 
 {
@@ -357,8 +381,10 @@ select * from index.order where seller.name='JD' order by id desc
   } ]
 }
 
+```
 
-#Nested Doc查询
+Nested Doc查询($providers 表示内嵌文档)
+```bash
 select * from index.order where product.$providers.name in ('JD', 'TB') and product.price < 1000 order by id desc
 
 {
@@ -397,9 +423,17 @@ select * from index.order where product.$providers.name in ('JD', 'TB') and prod
     }
   } ]
 }
+```
+
 
-#组合条件查询
-select * from index.order where (product.$providers.name in ('JD', 'TB') or product.$providers.channel='ONLINE') and (product.status='OPEN' or product.price < 1000) order by id desc
+组合条件查询
+```bash
+select * from index.order
+where
+(product.$providers.name in ('JD', 'TB') or product.$providers.channel='ONLINE')
+and
+(product.status='OPEN' or product.price < 1000)
+order by id desc
 
 {
   "from" : 0,
@@ -457,8 +491,10 @@ select * from index.order where (product.$providers.name in ('JD', 'TB') or prod
     }
   } ]
 }
+```
 
-# 查询字段
+查询字段指定
+```bash
 select totalPrice, product.*, product.$seller.* from index.order
 
 {
@@ -477,7 +513,7 @@ select totalPrice, product.*, product.$seller.* from index.order
 
 
 
-## 聚合统计
+聚合统计,目前只支持 terms,range 聚合
 
 ```bash
 select min(price),avg(price) from index.product group by terms(category),terms(color),range(price, segment(0,100), segment(100,200), segment(200,300))