翻译【ElasticSearch Server】第一章:开始使用ElasticSearch集群(5)

数据操作与REST API(Data manipulation with REST API)

ElasticSearch REST API可用于各种任务。多亏了它,我们可以管理索引,更改实例参数,检查节点和集群状态,索引数据和搜索它。此时此刻,我们将专注于使用 CRUD(create-retrieve-update-delete)API的一部分,允许我们以使用NOSQL数据库类似的方式来使用 ElasticSearch。

REST是什么?(What is REST?)

在继续各种操作描述之前,说几句有关于 REST本身的话。在REST-like体系结构中,每个请求是通过路径地址的一部分来对一个具体的对象表述的。例如,如果/book/是我们图书馆的图 书列表的一个引用,/books/1通过标识符1引用到这本书。注意,这些对象可以被嵌套。/books/1/chapter/6是图书馆中第一本书的第 六章,诸如此类。我们有API调用的主题。一个操作要执行什么,比如GET或POST?那表明请求类型。在API调用中HTTP协议给我们一系列的请求类 型作为动词。为了获得请求对象的当前状态合理的选择GET,POST是改变对象的状态,PUT用于创建对象,DELETE用于销毁一个对象。还有一个是 HEAD请求,这只是用于获取对象的基本信息。

如果我们看看操作停止ElasticSearch节中所讨论的例子,一切都应该更有意义:

  • GET http://localhost:9000/:检索整个实例的信息
  • GET http://localhost:9200/_cluster/nodes/:检索一个ElasticSearch集群中的节点的信息
  • POST http://localhost:9200/_cluster/nodes/_shutdown:发送信息来停止ElasticSearch集群中的节点

现在我们将检查这些操作如何从ElasticSearch存储、获取、变更以及删除数据。

在ElasticSearch中存储数据(Storing data in ElasticSearch)

在 ElasticSearch中,每条数据都定义了索引(index)和类型(type)。您可以认为一个索引就是文档的一个集合或数据库中的一张表。和数 据库记录相比,文档添加到索引时没有定义结构和字段类型。更准确的说,一个字段有其类型定义,但ElasticSearch能通过一些魔法来猜出相应的类 型。

posted @ 2013-12-11 16:04  jefurry  阅读(780)  评论(0编辑  收藏  举报