Intro

作者: 潘大的笔记 | 来源:发表于2019-02-28 14:14 被阅读0次

    什么是Elasticsearch?

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

    如何使用?

    1、通过程序与它提供的简单的RESTful API进行通信
    2、可以使用自己喜欢的编程语言充当web客户端,也可以使用命令行

    Sense

    一个与Elasticsearch交互的可视化

    和Elasticsearch交互

    Java

    1、节点客户端(Node client),作为一个非数据节点加入到本地集群中。即它本身不保存任何数据 ,但是它知道数据在集群中的哪个节点中,并且可以把请求转发到正确的节点。
    2、传输客户端(Transport client),将请求发送到远程集群。本身不加入集群,可以将请求转发到集群中的一个节点上
    3、两个Java客户端都是通过9300端口并使用Elasticsearch的元素传输协议和集群交互

    RESTful API with JSON over HTTP

    1、所有其他语言可以使用RESTful API通过端口和Elasticsearch通信,还可以使用web客户端以及curl命令
    2、Elasticsearch请求

    curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'
    
    被<>标记的部件 描述
    VERB HTTP动词。例如GET、POST ……
    HOST 集群中任意节点的主机名,或者是localhost代表本地
    PORT ES HTTP服务的端口号,默认9200
    PATH API的终端路径(例如_count将返回集群中Document数量)
    QUERY_STRING 任意可选的查询字符串参数(例如 ?pretty 易读)
    BODY 一个JSON格式的请求体

    面向文档

    1、ES存储整个对象或 文档,而且索引每个文档的内容使之可以被检索。同时,可以对文档进行索引、检索、排序和过滤。
    2、ES使用JavaScript Object Notation 或者JSON作为文档的序列化格式

    分布式特性

    ES屏蔽了分布式系统的复杂性。
    一些后台自动执行的操作:
    1、分配文档到不同的容器或分片中,文档可以存储在一个或多个节点中
    2、按集群节点来均衡分配这些分片,从而对索引和搜索过程进行负载均衡
    3、复制每个分片以支持数据备份,从而防止硬件故障导致的数据丢失
    4、将集群中任一节点的请求 路由(动词)到存有相关数据的节点
    5、集群扩容时无缝整合新节点,重新分配分片以便从离群节点回复

    相关文章

      网友评论

          本文标题:Intro

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