翻译【ElasticSearch Server】第一章:开始使用ElasticSearch集群(6)
创建一个新文档(Creating a new document)
现在我们将尝试索引一些文档。对于我们的示例,让我们想象我们正在为我们的博客建立某种CMS。实体之一是博客的文章。使用JSON记法,在以下的例子中一个文档可以如下所示:
{
"id": "1",
"title": "New version of Elastic Search released!",
"content": "…",
"priority": 10,
"tags": ["announce", "elasticsearch", "release"]
}
正 如我们所看到的,JSON文档包含一组字段,每个字段可以不同的形式。在我们的例子中,我们有一个数字(priority)、文本(title)和一个字 符串数组(tags)。在接下来的例子中,我们将向您展另一个类型。如前所述,ElasticSearch能猜到这些类型(因为JSON是semi- typed,就是说数字没有引号)并自动在它的内部结构自定义存储数据的方式。
现在我们想将这个记录存储在索引并使其可用于搜索。选择索引名称blog和索引类型article,我们可以通过执行以下命令:
curl -XPUT http://localhost:9200/blog/article/1
-d '{"title": "New version of Elastic Search released!",
"content": "...",
"tags": ["announce", "elasticsearch", "release"] }'
你可以注意到CURL的新选项-d,这个选项的参数值的文本应该用作请求负载-一个请求体。这样我们可以发送更多的信息,如文档定义。
注意,唯一标识符是放置在URL中而不是请求体中。如果您忽略这个标识符,搜索会返回一个错误,类似如下:
No handler found for uri [/blog/article/] and method [PUT]
如果一切都是正确的,服务器将用JSON响应,类似于:
{
"ok":true,
"_index":"blog",
"_type":"article",
"_id":"1",
"_version":1
}
在前面的响应中,ElasticSearch包含操作的状态信息和显示新文档被放置的地方。有文档的唯一标识符和当前版本信息,版本号将由ElasticSearch每次文档自动递增变化。
在 上面的例子中,我们已经指定文档的标识符。但ElasticSearch可以自动生成。这似乎是非常方便的,但是只有当一个索引是唯一的数据源才适用。如 果我们使用一个数据库来存储数据和使用ElasticSearch来全文搜索,同步这些数据将会受阻,除非生成的标识符也是存储在数据库中。通过使用下面 的命令能实现生成一个唯一键。
curl -XPOST http://localhost:9200/blog/article/ -d
'{"title": "New version of Elastic Search released!",
"content": "...",
"tags": ["announce", "elasticsearch", "release"] }'
注意是POST而不是PUT。参阅前一章REST动词,我们想要改变一个索引列表而不是创建一个新的实体,这就是为什么我们使用POST而不是PUT。服务器的响应应该类似如下:
{
"ok" : true,
"_index" : "blog",
"_type" : "article",
"_id" : "XQmdeSe_RVamFgRHMqcZQg",
"_version" : 1
}
注意突出显示的行,有一个自动生成的唯一示标识符。
翻译【ElasticSearch Server】第一章:开始使用ElasticSearch集群(6)的更多相关文章
- 使用mod_cluster进行apache httpd server和jboss eap 6.1集群配置
本文简单介绍,使用mod_cluster进行apache httpd server和jboss eap 6.1集群配置.本配置在windows上测试通过,linux下应该是一样的.可能要稍作调整.后面 ...
- CentOS6安装各种大数据软件 第四章:Hadoop分布式集群配置
相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...
- CentOS6安装各种大数据软件 第六章:HBase分布式集群的配置
相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...
- 《Entity Framework 6 Recipes》翻译系列 (1) -----第一章 开始使用实体框架之历史和框架简述
微软的Entity Framework 受到越来越多人的关注和使用,Entity Framework7.0版本也即将发行.虽然已经开源,可遗憾的是,国内没有关于它的书籍,更不用说好书了,可能是因为EF ...
- 《Entity Framework 6 Recipes》翻译系列(2) -----第一章 开始使用实体框架之使用介绍
Visual Studio 我们在Windows平台上开发应用程序使用的工具主要是Visual Studio.这个集成开发环境已经演化了很多年,从一个简单的C++编辑器和编译器到一个高度集成.支持软件 ...
- Elasticsearch学习系列七(Es分布式集群)
核心概念 集群(Cluster) 一个Es集群由多个节点(Node)组成,每个集群都有一个共同的集群名称作为标识 节点(Node) 一个Es实例就是一个Node.Es的配置文件中可以通过node.ma ...
- Elasticsearch 6.x版本全文检索学习之集群调优建议
1.系统设置要到位,遵照官方建议设置所有的系统参数. https://www.elastic.co/guide/en/elasticsearch/reference/6.7/setup.html 部署 ...
- 第十四章 二进制部署k8s集群的平滑升级
1.软件包下载 去github上下载较新的Kubernetes软件包https://github.com/ 2.升级说明 升级包括master节点升级和node节点的升级,本章升级至v1.15.12: ...
- Service Broker应用(2):不同server间的数据传输,包含集群
不同Server之间的数据传输,包含DB使用AlwaysOn 配置脚本: SQL Server Service Broker 跨集群通信 具体的TSQL 脚本语句如下.注意的是TSQL语句是在发送方还 ...
- 使用Rancher Server部署本地多节点K8S集群
当我第一次开始我的Kubernetes之旅时,我一直在寻找一种设置本地部署环境的方式.很多人常常会使用minikube或microk8s,这两者非常适合新手在单节点集群环境下进行操作.但当我已经了解了 ...
随机推荐
- java 追加写入代码一例
最近最项目参数化的时候用到,场景是这样的,需要测试A和B两个接口,其中B接口传入的参数必须是传递给A接口过的,所以整理一个思路就是: 1. 正常调用A接口,但是将传递给A接口的参数保存到文本里,此处要 ...
- 220 DIV2 A. Inna and Pink Pony
Inna and Pink Pony 输入n,m,i,j,a,b 可以看成n行m列的矩阵,起点(i,j),每次移动(a,b),(-a,-b),(-a,b),(a,-b) 可移动到(1,m),(n,1) ...
- C语言文件操作函数
C语言文件操作函数大全 clearerr(清除文件流的错误旗标) 相关函数 feof表头文件 #include<stdio.h> 定义函数 void clearerr(FILE * str ...
- C语言命名规则
一.程序风格: 1.严格采用阶梯层次组织程序代码: 各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行. 要求相匹配的大括号在同一列,对 ...
- java:构造函数
class Dog { Dog(){ } } 构造函数没有返回值定义,构造函数名必须和类名相同,如果类里面没有构造函数,编译器会帮你加一个构造函数. 使用this调用构造函数 class Dog { ...
- WCF入门(三)---WCF与Web服务/Web Service
下面列出了WCF和Web服务之间存在一些重大差异. 属性:WCF服务是通过定义ServiceContract和OperationContract属性,而在Web服务,WebService和WebMet ...
- 一个不错的log4j.properties例子
# Set root logger level to WARN and append to stdout #在开发环境下日志级别要设置成DEBUG,生产环境设置成info或error log4j.ro ...
- 68. Text Justification
题目: Given an array of words and a length L, format the text such that each line has exactly L charac ...
- C++:用成员初始化列表对数据成员初始化
1.在声明类时,对数据成员的初始化工作一般在构造函数中用赋值语句进行. 例如: class Complex{ private: double real; double imag; public: Co ...
- OSCache 缓存技术
前言:OSCache标记库由OpenSymphony设计,它是一种开创性的JSP定制标记应用,提供了在现有JSP页面之内实现快速内存缓冲的功能.OSCache是个一个广泛采用的高性能的J2EE缓存框架 ...