Elasticsearch入门 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

与Elasticsearch交互


  任何其他语言都可以使用你喜欢的网页客户端可以访问的RESTful API通过9200端口和 Elasticsearch通信。实际上,你甚至可以从命令行通过curl命令(当然你要去了解一下curl命令)和Elasticsearch通信。

  Elasticsearch给几种语言提供了官方的客户端,例如:java、python、.net、php等而我们这里所要介绍的就是通过RESTful API的形式与Elasticsearch进行交互。

curl -XGET 'http://localhost:9200/_count?pretty' 
-d '
{  
   "query": {
        "match_all": {}  
    }
}
'

说明:

  • -XGET适当的HTTP方法或者动作 : GET、POST、PUT、HEAD或者DELETE;
  • http:.........:9200表示集群任意节点的协议、主机名和端口;
  • _count表示请求的路径;
  • pretty任意可选的查询字符串参数,比如pretty将会漂亮的打印JSON格式的响应使它更容易阅读;
  • -d表示 HTTP POST方式传输数据;
  • {}中的部分表示JSON格式的请求包体(我们后面会常用这种形式);
  • query表示JSON格式的请求包体中的查询关键字;
  • _matchall表示JSON格式的请求包体中的要查询的字段。

Elasticsearch返回一个像 200 OK 的状态码和一个JSON格式的响应(HEAD请求除外)。

上面的curl请求将返回一个如下的JSON格式的响应:

{
    "count" : 0,
    "_shards" : {
        "total" : 5,
        "successful" : 5,
        "failed" : 0
    }
}