版本:elasticsearch-6.2.3
集合数据如下:
查询有两种方式:
一是通过 REST request URI 方式发送查询参数
http://localhost:9200/mydb/_search
GET /mydb/_search
查询 "index"="mydb" and "type="external" and "id"="1"
http://localhost:9200/mydb/external/1
GET /mydb/external/1
二是通过 REST request body,更为灵活,可以使用可读性好的JSON 格式定义你的查询条件,后面的例子都使用方式2。
下面介绍通过match_all查询来匹配所有文档
查询按年龄升序
GET /mydb/_search
{
"query": { "match_all": {} },
"sort": [
{ "age": "asc" }
]
}
查询返回指定数量的数据
注意 size 如果不指定,默认是10。
GET /mydb/_search
{
"query": { "match_all": {} },
"size": 1
}
查询分页
from参数指定返回文档的起始文档的索引,size 参数指定一共返回多少个文档。
这个特性对实现分页非常有用。
如果 from 没有指定,默认值是0。如果size不指定,默认是10。
GET /mydb/_search
{
"query": { "match_all": {} },
"from": 1,
"size": 2
}
查询指定的字段
如果不希望返回整个源文档,也可以请求仅几个字段被返回,指定的字段写在_source内。
GET /mydb/_search
{
"query": { "match_all": {} },
"_source": ["age", "balance"],
"size": 2
}