Elasticsearch基本操作之获取

获取是指的是获取指定id的记录,这和查询稍微有些差别,那么在获取记录的过程中有哪些知识点呢?

首先要知道GET twitter/_doc/0就是获取twitter索引中id为0的记录,这就是标准的用法,同时可以使用HEAD twitter/_doc/0判断这条记录是否存在。

实时性

在请求中可以加上请求参数realtime,realtime的值默认为true,也就表示甭管这条记录有没有被刷新refresh,都可以获取到,不受es默认refresh的刷新频率1s的影响,如果这时候记录被更改但是还没有被refresh,如果这时候进行了查询操作,不好意思,查到的是旧的文档。但是,在本文的获取操作get中则仍然可以获取到最新的文档,就是这个realtime参数所起的作用。
如果关闭了realtime,设置为false,那就只能依靠es的refresh刷新频率了。

source字段的过滤

例如:127.0.0.1:9200/my_index/doc/1?_source=title,可以筛选指定的source字段,多字段以逗号分隔。
其中_source也可以替换为_source_include或者_source_exclude分别代表筛选和排除的字段

只获取source字段

有时候在实际操作时,我们只需要source字段就可以了,其他的索引信息啥的都不怎么需要,这时候就可以使用GET twitter/_source/1直接获取source字段,但是,此方法貌似只能在6.x版本生效,我本地的5.6版本的es无法支持,加上doc_type补全路径也不行。

存储字段

在创建索引之初或者创建doc_type之初,可以指定一个字段的store的属性(true or false),且只能对叶子节点生效,例如说一个字段为"info:{"age":10}",这种情况下只能对age设置store属性,不能对info设置。
有了这个属性,在获取时就可以使用stored_fields=xxxx,yyyy等方法获取指定的字段。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值