Elasticsearch 是一个分布式、可扩展、实时的搜索与数据分析引擎,它的内部使用 Lucene 做索引与搜索,但是它的目的是使全文检索变得简单,通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API

    • 一个分布式的实时文档存储,每个字段 可以被索引与搜索
    • 一个分布式实时分析搜索引擎
    • 能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据

    一个 Elasticsearch 请求和任何 HTTP 请求一样由若干相同的部件组成:

    1. curl -X<VERB>'<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'

    < > 标记的部件:

    VERB 适当的 HTTP 方法谓词 : GETPOSTPUTHEAD 或者 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 格式的请求体 (如果请求需要的话)