翻译【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,这两者非常适合新手在单节点集群环境下进行操作.但当我已经了解了 ...
随机推荐
- 李洪强iOS开发支付集成之银联支付
iOS开发支付集成之银联支付 银联官网在这里,这里能下载SDK或者是看文档.最新的版本写的简单了很多,看文档一直做下去基本上就没问题了. 首先,SDK在这里下载,里面包含需要的库文件和详细的文档. 银 ...
- emms指令在MMX指令中的作用
emms指令在MMX指令中的作用 转自:http://blog.csdn.net/psusong/archive/2009/01/08/3737047.aspx MMX和SSE都是INTEL开发的基于 ...
- 78. Subsets
题目: Given a set of distinct integers, S, return all possible subsets. Note: Elements in a subset mus ...
- 使用Maven创建一个Spring MVC Web 项目
使用Maven创建java web 项目(Spring MVC)用到如下工具: 1.Maven 3.2 2.IntelliJ IDEA 13 3.JDK 1.7 4.Spring 4.1.1 rele ...
- python - PipeMapRed.waitOutputThreads(): subprocess failed with code 1
hadoop上执行mapreduce streaming python程序报错, 报错详细信息为 python - PipeMapRed.waitOutputThreads(): subprocess ...
- PHP命名空间概念解析
1. PHP中的命名空间是什么? 什么是命名空间?“从广义上来说,命名空间是一种封装事物的方法.在很多地方都可以见到这种抽象概念.例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮 ...
- maven项目配置Jetty服务器
<plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin ...
- OutputStream窥探
/* * Copyright (c) 1994, 2004, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETA ...
- *像word一样编辑复杂的文本:SpannableString 样式详介
简介: 使用android.text.Spanned; android.text.SpannableString; android.text.SpannableStringBuilder; 和 and ...
- ConcurrentDictionary和Dictionary
http://stackoverflow.com/questions/6739193/is-the-concurrentdictionary-thread-safe-to-the-point-that ...