1 查询类型
1.1 根据ID直接查询文档 :GET /index/type/id .类似sql :select * from where tablename=id
1.2 空查询。Get /_search .类似select * from tablename.返回结果格式:
{
"hits"
: {
"total"
:
14
, //结果数量
"hits"
: [ //返回结果,默认只返回
前10条数据
{
"_index"
:
"us"
,
"_type"
:
"tweet"
,
"_id"
:
"7"
,
"_score"
:
1
,
"_source"
: {
"date"
:
"2014-09-17"
,
"name"
:
"John Smith"
,
"tweet"
:
"The Query DSL is really powerful and flexible"
,
"user_id"
:
2
} },
...
9
RESULTS REMOVED ... ],
"max_score"
:
1
},
"took"
:
4
,
"_shards"
: {#参数查询的分片,有多少成功,失败,总数
"failed"
:
0
,
"successful"
:
10
,
"total"
:
10
},
"timed_out"
:
false #是否超时,查询时可以设置:
GET /_search?timeout=
10
ms
}
timed_out:超时后,在后台还会继续执行。紧紧只是为了顺利返回结果。
1.3 多索引、多类别查询。
/gb,us/user,tweet/_search
包括所有索引多个类别:/_all/user,tweet/_search。
搜索一个索引5个主分片和5个索引各1个分片事实上是一样。
2 分页。
2.1 ES接受分页参数是size和from。
size
: 结果返回数量,默认10
from
: 跳过开始的结果数,默认0.
当size=10,from=0时,返回的结果从1到10.
2.2 请求中增加参数
GET /_search?size=</