ElasticSearch-深入理解系列8-高级查询

本文深入探讨ElasticSearch的高级查询技术,包括ID查询、空查询、多索引多类别查询、分页、scroll搜索、简易搜索与DSL查询、的确值与全文本搜索的区别、结构化查询以及过滤和查询的使用。讲解了match、term、range等多种查询过滤方法,并提到了查询语句与过滤语句在性能和应用场景上的差异,以及如何优化深度分页和处理null值的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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=</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值