搜索-基本的工具
1、空搜索:
不指定任何搜索条件,返回搜索文档中的所有记录
GET /_search
2、多索引多类别
/_search | 所有索引,所有类别 |
/gb/_search | gb索引下搜索 |
/gb,red/_search | 在gb和red索引下搜索 |
/g*,r*/_search | 在g和r开头的索引下搜索 |
/gb/user/_search | 在gb索引,user类别下搜索 |
/gb,red/user,account/_search | 在gb和red索引,user和account类别下搜索 |
/_all/user/_search | 在所有索引,user类别下搜索 |
3、分页
GET /_search?size=2&from=1
从第二条数据开始,显示2条数据
size:每页条数
from:跳过开始的结果数,默认0开始
在集群系统中深度分页
为了理解为什么深度分页是有问题的, 让我们假设在一个有5个主分片的索引中搜索。 当
我们请求结果的第一页( 结果1到10) 时, 每个分片产生自己最顶端10个结果然后返回它
们给请求节点(requesting node), 它再排序这所有的50个结果以选出顶端的10个结果。
现在假设我们请求第1000页——结果10001到10010。 工作方式都相同, 不同的是每个分
片都必须产生顶端的10010个结果。 然后请求节点排序这50050个结果并丢弃50040个!
你可以看到在分布式系统中, 排序结果的花费随着分页的深入而成倍增长。 这也是为什
么网络搜索引擎中任何语句不能返回多于1000个结果的原因。
4、简易搜索
GET /_all/tweet/_search?q=tweet:elasticsearch
搜索tweet字段包含“elasticsearch”关键字
_all字段
GET /_search?q=mary
5、映射 分析
GET /megacorp/_mapping
分析每个字段类型