1.多索引,多类型
/_search
在所有的索引中搜索所有的类型
/gb/_search
在 gb 索引中搜索所有的类型
/gb,us/_search
在 gb 和 us 索引中搜索所有的文档
/g*,u*/_search
在任何以 g 或者 u 开头的索引中搜索所有的类型
/gb/user/_search
在 gb 索引中搜索 user 类型
/gb,us/user,tweet/_search
在 gb 和 us 索引中搜索 user 和 tweet 类型
/_all/user,tweet/_search
在所有的索引中搜索 user 和 tweet 类型
2.分页:size 显示应该返回的结果数量,默认是 10 ;from 显示应该跳过的初始结果数量,默认是 0
如果每页展示 5 条结果,可以用下面方式请求得到 1 到 3 页的结果
GET /_search?size=5
GET /_search?size=5&from=5
GET /_search?size=5&from=10
3.查询在 tweet 类型中 tweet 字段包含 elasticsearch 单词的所有文档
GET /_all/tweet/_search?q=tweet:elasticsearch
4.查询在 name 字段中包含 john 并且在 tweet 字段中包含 mary 的文档
GET /_all/tweet/_search?q=name:john +tweet:mary
或者
GET /_search?q=%2Bname%3Ajohn+%2Btweet%3Amary
注:+ 前缀表示必须与查询条件匹配。类似地, - 前缀表示一定不与查询条件匹配。没有 + 或者 - 的所有其他条件都是可选的——匹配的越多,文档就越相关
5.包含 mary 的所有文档( _all 字段进行搜索:取出所有字段的值拼接成一个大的字符串)
GET /_search?q=mary
6.复杂查询:①name 字段中包含 mary 或者 john ②date 值大于 2014-09-10 ③all 字段包含 aggregations 或者 geo
+name:(mary john) +date:>2014-09-10 +(aggregations geo)