006 GET API
1.HEAD检查是否存在文档
The API also allows to check for the existence of a document using HEAD
HEAD index2/_doc/1
结果:
200 - OK
2.Source 过滤
①By default, the get operation returns the contents of the _source
field unless you have used the stored_fields
parameter or if the _source
field is disabled. You can turn off _source
retrieval by using the _source
parameter。
意思:
默认情况下,返回的结果是_source。
可以使用_source进行禁用。
GET index2/_doc/1
效果:
{
"_index" : "index2",
"_type" : "_doc",
"_id" : "1",
"_version" : 12,
"_seq_no" : 11,
"_primary_term" : 4,
"found" : true,
"_source" : {
"name" : "tom1",
"age" : 20
}
}
禁用:
GET index2/_doc/1?_source=false
结果:
{
"_index" : "index2",
"_type" : "_doc",
"_id" : "1",
"_version" : 12,
"_seq_no" : 11,
"_primary_term" : 4,
"found" : true
}
②If you only need one or two fields from the complete _source
, you can use the _source_includes
and _source_excludes
parameters to include or filter out the parts you need. This can be especially helpful with large documents where partial retrieval can save on network overhead. Both parameters take a comma separated list of fields or wildcard expressions. Example
意思:
对于大型的文档,只过滤自己需要的结果是合适的,降低网络开销
可以使用参数进行控制source中的参数包含或者不包含。这种属于限制两边,留下中间的做法。
GET twitter/_doc/1
结果:
{
"_index" : "twitter",
"_type" : "_doc",
"_id" : "1",
"_version" : 6,
"_seq_no" : 5,
"_primary_term" : 1,
"found" : true,
"_source" : {
"user" : "kimchy",
"post_date" : "2009-11-15T14:12:12",
"message" : "trying out Elasticsearch"
}
}
过滤:
GET twitter/_doc/1?_source_includes=u*,message&_source_excludes=post_date
结果:
{
"_index" : "twitter",
"_type" : "_doc",
"_id" : "1",
"_version" : 6,
"_seq_no" : 5,
"_primary_term" : 1,
"found" : true,
"_source" : {
"message" : "trying out Elasticsearch",
"user" : "kimchy"
}
}
③If you only want to specify includes, you can use a shorter notation
GET twitter/_doc/1?_source=message,user
结果:
{
"_index" : "twitter",
"_type" : "_doc",
"_id" : "1",
"_version" : 6,
"_seq_no" : 5,
"_primary_term" : 1,
"found" : true,
"_source" : {
"message" : "trying out Elasticsearch",
"user" : "kimchy"
}
}
3.存储字段
The get operation allows specifying a set of stored fields that will be returned by passing the stored_fields
parameter. If the requested fields are not stored, they will be ignored. Consider for instance the following mapping
意思是:
可以通过设置参数,单独返回特定的字段
下面是mapping:
PUT tui
{
"mappings": {
"properties": {
"counter": {
"type": "integer",
"store": false
},
"tags": {
"type": "keyword",
"store": true
}
}
}
}
结果:
{
"acknowledged" : true,
"shards_acknowledged" : true,
"index" : "tui"
}
添加文档:
PUT tui/_doc/1
{
"counter" : 1,
"tags" : ["red","yellow"]
}
获取:
GET tui/_doc/1
结果:
{
"_index" : "tui",
"_type" : "_doc",
"_id" : "1",
"_version" : 1,
"_seq_no" : 0,
"_primary_term" : 1,
"found" : true,
"_source" : {
"counter" : 1,
"tags" : [
"red",
"yellow"
]
}
}
使用store_field:
GET tui/_doc/1?stored_fields=tags,counter
结果:
{
"_index" : "tui",
"_type" : "_doc",
"_id" : "1",
"_version" : 1,
"_seq_no" : 0,
"_primary_term" : 1,
"found" : true,
"fields" : {
"tags" : [
"red",
"yellow"
]
}
}
对于上面的结果,有些说明:
Field values fetched from the document itself are always returned as an array. Since the counter
field is not stored the get request simply ignores it when trying to get the stored_fields.
返回的结果作为一个数组,因为counter没有被存储,所以在获取stored_fields时或略。
4._source目录
Use the /{index}/_source/{id}
endpoint to get just the _source
field of the document, without any additional content around it.
GET twitter/_doc/1
效果:
{
"_index" : "twitter",
"_type" : "_doc",
"_id" : "1",
"_version" : 6,
"_seq_no" : 5,
"_primary_term" : 1,
"found" : true,
"_source" : {
"user" : "kimchy",
"post_date" : "2009-11-15T14:12:12",
"message" : "trying out Elasticsearch"
}
}
使用_source
GET twitter/_source/1
效果:
{
"user" : "kimchy",
"post_date" : "2009-11-15T14:12:12",
"message" : "trying out Elasticsearch"
}
006 GET API的更多相关文章
- Python 绝技 —— TCP服务器与客户端
i春秋作家:wasrehpic 0×00 前言 「网络」一直以来都是黑客最热衷的竞技场.数据在网络中肆意传播:主机扫描.代码注入.网络嗅探.数据篡改重放.拒绝服务攻击……黑客的功底越深厚,能做的就越多 ...
- 006 使用SpringMVC开发restful API四--用户信息的修复与删除,重在注解的定义
一:任务 1.任务 常用的验证注解 自定义返回消息 自定义校验注解 二:Hibernate Validator 1.常见的校验注解 2.程序 测试类 /** * @throws Exception * ...
- openstack api快速入门
原文:http://my.oschina.net/guol/blog/105430 openstack官方有提供api供开发者使用,可以使用api做一些外围的小工具,用来简化对openstack的管理 ...
- jQuery EasyUI API 中文文档 - ComboGrid 组合表格
jQuery EasyUI API 中文文档 - ComboGrid 组合表格,需要的朋友可以参考下. 扩展自 $.fn.combo.defaults 和 $.fn.datagrid.defaults ...
- 百度地图坐标转换API和地图API
利用百度地图的服务将经纬度转换为米单位坐标 using System; using System.Collections.Generic; using System.Linq; using Syste ...
- 创建以 API 为中心的 Web 应用
http://www.oschina.net/translate/creating-an-api-centric-web-application?from=20130818 正计划着要开始搞一个新的网 ...
- RESTful API Design With NodeJS & Restify
http://code.tutsplus.com/tutorials/restful-api-design-with-nodejs-restify--cms-22637 The RESTful API ...
- 【高德地图API】从零开始学高德JS API(六)——坐标转换
原文:[高德地图API]从零开始学高德JS API(六)——坐标转换 摘要:如何从GPS转到谷歌?如何从百度转到高德?这些都是小case.我们还提供,如何将基站cell_id转换为GPS坐标? --- ...
- Hbase多版本的读写(Shell&Java API版)
Hbase是基于HDFS的NOsql数据库,它很多地方跟数据库差不多,也有很多不同的地方.这里就不一一列举了,不过Hbase有个版本控制的特性,这个特性在很多场景下都会发挥很大的作用.本篇就介绍下基于 ...
随机推荐
- [nginx] nginx源码分析--框架概览
ALLINONE 所有我分析到的内容,都花在了一张图里. 其中包括: 1. 核心config数据结构. 2. 模块类关系图. 3. 配置类关系图. 4. 主要模块的实例化实体关系图. 5. htt ...
- 设置Django生产环境系统重启后的自动启动项
前面,作者已经介绍了把Django部署到生产环境中的主要方法,现在我们来看一下如何设置项目开机启动. 在把Django项目部署到生产环境中时,我们前面使用安装包和源码安装了Nginx.uwsgi.re ...
- 漫谈五种IO模型(主讲IO多路复用)
首先引用levin的回答让我们理清楚五种IO模型 1.阻塞I/O模型 老李去火车站买票,排队三天买到一张退票. 耗费:在车站吃喝拉撒睡 3天,其他事一件没干. 2.非阻塞I/O模型 老李去火车站买票, ...
- 51nod 2517 最少01翻转次数
小b有一个01序列,她每次可以翻转一个元素,即将该元素异或上1. 现在她希望序列不降,求最少翻转次数. 收起 输入 第一行输入一个数n,其中1≤n≤20000: 第二行输入一个由‘0’和‘1’组成 ...
- 【转】MarkDown添加图片的三种方式
原文:https://www.jianshu.com/p/280c6a6f2594 ----------------------------------------------------- 插图最基 ...
- CH6303 天天爱跑步
6303 天天爱跑步 0x60「图论」例题 描述 小C同学认为跑步非常有趣,于是决定制作一款叫作<天天爱跑步>的游戏.<天天爱跑步>是一个养成类游戏,需要玩家每天按时上线,完成 ...
- [RxJS] Groupby operator
The use case is similar to Twitter "like" button, you can click "click" button o ...
- mysql数据库从一台服务器迁移到另一台服务器上
一.应用场景 由于要把测试服务器上的数据库迁移到正式服务器上,因此需要做数据库的迁移.这里记录一下. 二.数据库迁移1.新建数据库test create database test;12.进 ...
- 转载 C# 开源框架(整理)
C# 开源框架(整理)http://www.cnblogs.com/gaoyuchuanIT/articles/5612268.html Json.NET http://json.codeplex.c ...
- 数据库访问优化之四:减少数据库服务器CPU运算
1.使用绑定变量 绑定变量是指SQL中对变化的值采用变量参数的形式提交,而不是在SQL中直接拼写对应的值. 非绑定变量写法:Select * from employee where id=123456 ...