ES 插入数据
在本章中,我们将学习如何使用我们设置的elasticsearch-head插件向elasticsearch数据库添加索引、文档、数据和映射在上一章。我们将使用此插件执行查询。在发出请求之前,请务必使用 elasticsearch.bat 文件运行 elasticsearch 服务器。
我们将在本章中讨论以下主题:
- 创建索引
- 创建文档
- 阅读文档
- 更新文档
- 删除文档
创建索引
要创建索引,我们需要指定索引名称和请求方法。因此,使用PUT请求方式,执行如下命令创建索引:
PUT student
这里PUT是请求方法,student是索引名。
响应:
如果索引创建成功,你会在响应正文中得到如下输出:
{ "acknowledged": true, "shards_acknowledged": true, } "index": "student"
看下面的截图更好理解:
创建文档或添加数据
创建索引后,我们现在可以将文档索引到elasticsearch 。为此,我们将使用 POST 方法并为文档指定一些 ID 以识别它们。设置请求方法=POST。
使用以下代码在索引中添加数据:
POST student/_doc/01/ { "name": "Alen Paul", "gender": "Male", "phone": "9876543210", "street": "Malen Park", "city": "California", "country": "United States", "zip": "94025" }
这里POST是请求方法,_doc是文档类型,用来在索引中添加数据。
响应:
如果您在响应正文中获得以下输出,则成功添加请求中提供的数据。
{ "index": "student", "type": "_doc", "id": "01", "version": 1, "result" "created", "_shards": { "total":2, "successful":1, } "failed": 0, "_seq_no": 0, "_primary_term": 1 }
看下面的截图更好地理解它:
现在我们将添加索引"student"中的另一个文档。同样,我们可以在索引中添加任意数量的文档。
POST student/_doc/02/ { "name": "Stan Lee", "gender": "Male", "phone": "9876543211", "street": "New Rochelle", "city": "New York", "country": "United States", "zip": "10029" }
响应:
如果您在响应正文中获得以下输出,则再成功添加一个文档。
{ "index": "student", "type": "_doc", "id": "02", "version": 1, "result" "created", "_shards": { "total":2, "successful":1, "failed": 0, } "_seq_no": 1, "_primary_term": 2 }
看下面的截图更好地理解它:
现在去概览选项卡以查看数据是否实际添加。点击刷新按钮刷新用户界面。您将能够看到添加的索引包含两个我们之前添加的文档。
读取文档
在elasticsearch中,可以使用GET请求检索文档。创建一个新请求来检索文档。我们还需要指定索引名称和文档的 id。与 GET 请求一起提供所有三个信息,elasticsearch 将在响应正文中获取并显示结果。让我们看看它将如何实际完成:
GET student/_doc/02/
响应:
以下输出将显示在上述请求的响应正文中,其中索引名称为学生,文档 ID 为 02、
{ "index": "student", "type": "_doc", "id": "02", "version": 1. "_seq_no": 1, "_primary_term": 2 "_source": { "name ": "Alen Paul", "gender": "Male", "phone": "9876543210", "street": "Malen Park", "city": "California", "country": "United States", "zip": " "94025" } }
响应,我们可以看到"_source"对象下的文档数据。
看下面的截图,直观地看到结果:
更新文档
更新一个文档文档,我们需要API、请求方法、更新数据和请求字符串。 Elasticsearch 提供了 _update API 来更新文档。在本例中,我们将把城市从纽约替换为洛杉矶。因此,使用以下代码更新文档。
POST student/_doc/02/ _update { "doc": { "city": "Los Angeles" } }
响应:
如果输出相同,则文档更新成功。
{ "index": "student", "type": "_doc", "id": "02", "version": 2, "result": "updated", "shards": { "total": 2 "successful": 1 "failed": 0, } "_seq_no": 2, "_primary_term": 3 }
看下面的截图,直观地看到结果:
删除文档
Elasticsearch 提供了DELETE 请求方法来删除文档。因此,只需设置 DELETE 请求方法并提供索引名称和文档 ID。
DELETE student/_doc/01/
响应:
如果您得到以下输出,则文档 01 已成功删除。
{ "index": "student", "type": "_doc", "id": "01", "version": 2, "result": "deleted", "shards": { "total": 2 "successful": 1 "failed": 0, } "_seq_no": 3, "_primary_term": 3 }
在浏览器上看下面的截图:
删除索引
要删除索引,只需指定索引名称和DELETE 请求方法,然后点击请求按钮。
DELETE student
下一章:ES 版本迁移
每当我们将系统或任何软件升级到更新版本时,它们总会有一些变化。因此,我们需要通过维护数据、应用程序配置、设置和许多其他东西来维持它们。为此,我们需要遵循几个步骤来使应用程序在新系统中稳定。这些步骤还有助于保持数据的完整性不被 ...