Elasticsearch(六) 搜索

目录

1、路由文档到分片

2、搜索

3、空搜索

指定条件

分页


 

1、路由文档到分片

当你索引一个文档,它被存储在单独一个主分片上。Elasticsearch 是如何指定文档属于哪个分片的呢?

它根据一个简单的算法决定:

shard = hash(routing) % number_of_primary_shards

routing 值是一个任意字符串,它默认是 ID,但也可以自定义。根据以上算法分片范围永远在 0 到 number_of_primary_shards - 1,这个数字就是特定文档所在的分配。

这也解释了为什么主分片的数量只能在创建索引时定义且不能修改。

2、搜索

为了充分挖掘Elasticsearch的潜力,你需要理解以下三个概念:

概念解释
映射(Mapping)数据在每个字段中的解释说明
分析(Analysis)全文是如何处理的可以被搜索的
领域特定语言查询(Query DSL)Elasticsearch使用的灵活的、强大的查询语言

3、空搜索

curl -XGET 'http://10.24.54.241:9200/_search/?pretty'

没有指定任何的查询条件,只返回集群索引中的所有文档。

指定条件

/_search

在所有索引的所有类型中搜索

/gb/_search

在索引gb的所有类型中搜索

/gb,us/_search

在索引gbus的所有类型中搜索

/g*,u*/_search

在以gu开头的索引的所有类型中搜索

/gb/user/_search

在索引gb的类型user中搜索

/gb,us/user,tweet/_search

在索引gbus的类型为usertweet中搜索

/_all/user,tweet/_search

在所有索引的usertweet中搜索 search types user and tweet in all indices

分页

Elasticsearch接受fromsize参数:

size: 结果数,默认10

from: 跳过开始的结果数,默认0

如果你想每页显示5个结果,页码从1到3,那请求如下:

GET /_search?size=5
GET /_search?size=5&from=5
GET /_search?size=5&from=10

也可以用 scroll、scan方式实现分页,后续再说。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值