elasticsearch. 向导

API

这部分描述 elasticsearch 提供的 REST API接口,使用数据格式主要是Json. API 接口通过以下方式暴露 HTTP , thrift, memcached.

节点

大部分集群级别的API接口都允许在指定的节点上执行, (如获取某个节点的状态). 节点可以通过其内部id, 节点名, 节点ip地址, 自定义属性, 或只是通过 _local (本地节点)来定位并接受请求. 例如, 这里是一个获取节点信息的操作:

# Local    
curl localhost:9200/_cluster/nodes/_local
# Address
curl localhost:9200/_cluster/nodes/10.0.0.3,10.0.0.4
curl localhost:9200/_cluster/nodes/10.0.0.*
# Names
curl localhost:9200/_cluster/nodes/node_name_goes_here
curl localhost:9200/_cluster/nodes/node_name_goes_*
# Attributes (set something like node.rack: 2 in the config)
curl localhost:9200/_cluster/nodes/rack:2
curl localhost:9200/_cluster/nodes/ra*:2
curl localhost:9200/_cluster/nodes/ra*:2*

选项

输出结果格式化

当给任意request类型的请求附加参数 ?pretty=true 后, 输出的JSON结果会是预先格式化好的(拥有良好缩进的JSON,主要是用于调试方便).

参数

Rest 参数 (如果使用 HTTP 协议, 隐射为 HTTP 的URL parameters参数) 约定都使用下划线来标示.

布尔值

所有的 REST APIs 的参数 (包括请求参数和body) 布尔值 “false” 等同于: false, 0off. 所有的其他值都被认为是 “true”. 注意, 这并不是索引文档里判断某个字段是否为布尔字段的标准.

数值

所有的 REST APIs 都支持JSON原生的数字类型,并且允许将数值当作 string 来处理.

结果大小写

所有 REST APIs 允许接受一个参数 case . 当该参数设置为 camelCase, 所有返回字段的名称都会以驼峰式大小写风格(camel casing), 否则, 默认使用下划线. 注意, 这里并不会影响索引文档里面的字段(只是影响自带字段如: _id, _index等).

JSONP

所有 REST APIs 接受一个 callback 参数来生成 JSONP 输出.

你也可以使用参数 source 作为query_string(补充:即GET方式)来代替POST请求对应的body部分.

 
Fork me on GitHub