elasticsearch7.x文档API Get操作相关

HEAD

除了使用GET按id获取文档外,还可以通过HEAD来检查文档是否存在。如果存在返回状态码为200,否则为404。

HEAD <index_name>/_doc/<doc_id>

实时

默认情况下GET是实时的,不受索引刷新率的影响。如果一个文档已经更新但还没有刷新,GET API将发出一个刷新调用就地使文档可见,并将自上次刷新以来更改的其他文档也可见。如果想要禁用实时GET,可以将realtime参数设置为false。

源过滤

默认情况下,GET操作返回_source字段的内容,除非使用stored_fields参数,或者禁用了_source字段。通过将参数_source设置为false,可以禁用_source。如果只想返回_source中的部分字段,可以通过设置_source_includes和_source_excludes来包含或过滤部分字段。在检索大型文档时可以节省网络开销。_source_includes和_source_excludes接受逗号分隔的字段列表或通配符表达式。

存储字段

GET操作允许通过传递stored_fields参数来指定一组要返回的存储字段。如果指定的字段没有存储则会被忽略。从文档本身获取的字段值总是以数组返回。只有叶子字段才可以通过stored_fields返回,也就是说如果字段值是对象则不能通过stored_fields返回,否则请求会失败。

可以通过_source直接并只获取_source字段的内容。

GET <index_name>/_source/<doc_id>

使用_source同样可以通过HEAD来检查文档是否存在。

HEAD <index_name>/_source/<doc_id>

也可以通过_source_includes和_source_excludes对返回字段进行过滤。

路由

如果在索引时使用了路由,那么在查询文档时需要通过_routing以同样的规则进行路由,否则会获取不到文档。

优先级

控制分片副本执行get请求的优先权。默认情况下,操作是在分片副本之间随机进行的。preference默认为_local(如果可能,优先在本地分配的分片上执行)。

刷新

通过将refresh参数设置为true,可以在get操作之前刷新相关分片并使其可搜索。将其设置为true后,可能会给系统带来沉重的负载,导致索引速度变慢。

版本支持

通过version参数来检索当前版本与指定版本一致的文档。除了版本类型FORCE总是检索文档之外,此行为对于所有版本类型都是相同的。版本类型FORCE是不推荐的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值