美文网首页
Elasticsearch 简介API

Elasticsearch 简介API

作者: 0893051f5f11 | 来源:发表于2019-04-15 10:35 被阅读0次

    Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。

    Elasticsearch不仅仅是Lucene和全文搜索,我们还能这样去描述它:

    • 分布式的实时文件存储,每个字段都被索引并可被搜索
    • 分布式的实时分析搜索引擎
    • 可以扩展到上百台服务器,处理PB级结构化或非结构化数据
      而且,所有的这些功能被集成到一个服务里面,你的应用可以通过简单的RESTful API各种语言的客户端甚至命令行与之交互。

    基于HTTP协议,以JSON为数据交互格式的RESTful API

    其他所有程序语言都可以使用RESTful API,通过9200端口的与Elasticsearch进行通信,你可以使用你喜欢的WEB客户端,事实上,如你所见,你甚至可以通过curl命令与Elasticsearch通信。
    curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'


    • VERB HTTP方法:GET, POST, PUT, HEAD, DELETE
    • PROTOCOL http或者https协议(只有在Elasticsearch前面有https代理的时候可用)
    • HOST Elasticsearch集群中的任何一个节点的主机名,如果是在本地的节点,那么就叫localhost
      PORT Elasticsearch HTTP服务所在的端口,默认为9200
    • PATH API路径(例如_count将返回集群中文档的数量),PATH可以包含多个组件,例如_cluster/stats或者_nodes/stats/jvm
    • QUERY_STRING 一些可选的查询请求参数,例如?pretty参数将使请求返回更加美观易读的JSON数据
    • BODY 一个JSON格式的请求主体(如果请求需要的话)

    举例说明,为了计算集群中的文档数量,我们可以这样做:

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

    Elasticsearch返回一个类似200 OK的HTTP状态码和JSON格式的响应主体(除了HEAD请求)。上面的请求会得到如下的JSON格式的响应主体:

    {
      "count" : 477,
      "_shards" : {
        "total" : 9,
        "successful" : 9,
        "failed" : 0
      }
    }
    

    我们看不到HTTP头是因为我们没有让curl显示它们,如果要显示,使用curl命令后跟-i参数:
    curl -i -XGET 'localhost:9200/'

    相关文章

      网友评论

          本文标题:Elasticsearch 简介API

          本文链接:https://www.haomeiwen.com/subject/miiywqtx.html