elasticsearch文档Get API

开发者也可以使用HEAD请求查看一个文档是否存在,如下:

curl -I -X HEAD "localhost:9200/twitter/_doc/0

执行结果如下:

640?wx_fmt=png

Realtime

默认情况下,Get API是实时的,并且不受index刷新率的影响(当数据对搜索可见时)。如果文档已更新但尚未刷新,则Get API将发出刷新调用以使文档可见,这也会导致其他文档发生变化。如果开发者想要禁用实时GET,可以将realtime参数设置为false。

Source filtering

默认情况下,完整的source字段将被返回,如果开发者使用了storedfields字段或者禁用了_source字段,则情况可能会发生变化,例如如下请求:

curl -X GET “localhost:9200/twitter/_doc/1?_source=false&pretty”

执行结果如下:

640?wx_fmt=png

如果开发者只是需要完整的一个或两个字段,则可以使用sourceinclude参数来包含字段或者使用sourceexclude参数来过滤字段,当文档中的字段比较多时,这种做法非常有用,这样还可以节省网络开销。具体用法如下:

curl -X GET “localhost:9200/twitter/_doc/1?_source_include=user&pretty”

curl -X GET “localhost:9200/twitter/_doc/1?_source_exclude=message&pretty”

执行结果如下:

640?wx_fmt=png

Stored Fields

Get操作允许指定一系列的stored字段,这些字段将会在指定stored_fields参数的时候被返回,如果请求的字段没有被储存,那么将会被忽略。如下:

curl -X PUT “localhost:9200/twitter” -H ‘Content-Type: application/json’ -d’

{

“mappings”: {

“_doc”: {

“properties”: {

“counter”: {

“type”: “integer”,

“store”: false

},

“tags”: {

“type”: “keyword”,

“store”: true

}

}

}

}

}

在这里我们指定了counter将不会被存储,而tags将被存储,接下来执行如下请求,添加一个文档:

curl -X PUT “localhost:9200/twitter/_doc/1?pretty” -H ‘Content-Type: application/json’ -d’

{

“counter” : 1,

“tags” : [“red”]

}

添加成功后,再去查询,查询时指定stored_fileds,如下:

curl -X GET “localhost:9200/twitter/_doc/1?pretty&stored_fields=tags,counter”

执行结果如下:

640?wx_fmt=png

可以看到,store为false的字段被忽略掉了。

另外,也可以对元数据进行检索,例如执行如下请求添加一条数据:

curl -X PUT “localhost:9200/twitter/_doc/2?routing=user1&pretty” -H ‘Content-Type: application/json’ -d’

{

“counter” : 1,

“tags” : [“white”]

}

添加成功后再进行查询,如下:

curl -X GET “localhost:9200/twitter/_doc/2?pretty&routing=user1&stored_fields=tags,counter”

执行结果如下:

640?wx_fmt=png

只有leaf字段才可以通过stored_field选项返回,如果是一个Object字段,则无法返回,并且请求会失败,报错如下:

640?wx_fmt=png

Getting the _source directly

使用 /{index}/{type}/{id}/_source格式的请求,可以只返回一个文档的_source字段,例如如下请求:

curl -X GET “localhost:9200/twitter/_doc/1/_source?pretty”

执行结果如下:

640?wx_fmt=png

在此基础上,开发者可以继续使用sourcefiltering来决定要返回_source中的哪些字段,如下:

curl -X GET “localhost:9200/twitter/_doc/1/_source?_source_include=counter&pretty”

执行结果如下:

640?wx_fmt=png

也可以通过HEAD请求查看一个文档中的_source字段是否存在,前提是没有禁止mapping:

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
6s7q-1715671116737)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 18
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Elasticsearch 7提供了丰富的API,用于索引和搜索文档,管理索引和集群等。下面是一些常用的API和使用文档: 1. 索引API - index:索引一条文档。使用PUT方法,指定索引名称、文档类型和文档ID,以及文档内容。例如: ``` PUT /my_index/my_type/my_id { "user": "kimchy", "message": "hello world" } ``` - delete:删除一条文档。使用DELETE方法,指定索引名称、文档类型和文档ID。例如: ``` DELETE /my_index/my_type/my_id ``` - bulk:批量索引、更新或删除文档。使用POST方法,指定操作类型和文档内容。例如: ``` POST /my_index/_bulk { "index" : { "_id" : "1" } } { "field1" : "value1" } { "delete" : { "_id" : "2" } } ``` 2. 搜索API - search:搜索匹配的文档。使用GET方法,指定索引名称、文档类型和查询参数。例如: ``` GET /my_index/my_type/_search?q=user:kimchy ``` - count:统计匹配的文档数量。使用GET方法,指定索引名称、文档类型和查询参数。例如: ``` GET /my_index/my_type/_count?q=user:kimchy ``` - scroll:使用游标方式搜索大量数据。使用POST方法,指定索引名称、文档类型和查询参数。例如: ``` POST /my_index/my_type/_search?scroll=1m { "query": { "match" : { "title" : "elasticsearch" } } } ``` 3. 管理API - cat:列出集群、节点、索引等信息。使用GET方法,指定要查询的信息类型。例如: ``` GET /_cat/indices ``` - cluster:管理集群设置和状态。使用GET或PUT方法,指定要操作的设置或状态。例如: ``` GET /_cluster/health PUT /_cluster/settings { "transient": { "indices.recovery.max_bytes_per_sec": "50mb" } } ``` - indices:管理索引设置和状态。使用GET或PUT方法,指定要操作的设置或状态。例如: ``` GET /my_index/_settings PUT /my_index/_settings { "index": { "number_of_replicas": 2 } } ``` 以上是一些常用的API和使用文档Elasticsearch 7还提供了很多其他API,可以根据需要进行查询和使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值