zoukankan      html  css  js  c++  java
  • 上手Elasticsearch

    REST接口

    如上所示,我们将节点个集群启动后,接下来我们就要和es进行通信,es为开发者提供了强大的rest api功能,能够让开发者和es进行方便的"沟通",包括集群的健康检查,对索引进行增、删、改、查和查询的操作,已经实现高级的搜索功能。

    检查集群

    执行如下操作,就能够看到我们的集群的状态和其他的一些信息数据

    curl -X GET "localhost:9200/_cat/health?v"

    es会相应如下的信息给我们

    由上图:我们可以看到,集群的名称、集群的状态、集群的节点数、集群的额分片数等信息

    集群状态:集群的状态分为greenyellowred三种状态,第一种状态,表示集群运行一切良好,功能齐全,数据完备。

    第二种状态,表示集群的所有数据都是可以使用的,有部分的数据没有被分配到副本分片上。第三种状态,表示集群的部分功能是不可以使用的,部分数据是不可以是使用的,数据没有被完全分配,但是可以提供搜索服务。

    检查节点

    执行如下的命令,可以查看目前的集群中的节点的详细信息

    curl -X GET "localhost:9200/_cat/nodes?v"

    如上图:可以看到,目前整个集群只有一个节点,节点的名称是,node-1,并且在master下有一个*号,表示该节点是一个主节点

    创建索引库

    通过如下命令,我们能够创建一个名称为triumphxx的索引库,返回如下图片显示的内容表示,添加索引库成功。

    curl -X PUT "localhost:9200/triumphxx/?pretty"

    大家可以看到,上面的命令,有一个参数pretty,这个参数的作用是,请求完es的返回数据以josn格式输出。

    查询索引库

    curl -X GET "localhost:9200/_cat/indices?v"

    可以看到我们刚刚创建的索引,已经查询出来了,有一个主分片一个复制分片,但是健康状态是yellow为什么呢?因为我们下现在只有一个节点,主分片和复制分片没有分配到不同的节点下。还可以看到,这个索引下的文档数是没有的,因为我们没有创建文档。

    添加文档

    我们为索引triumphxx添加一个文档,然后在查询索引,观看有哪些学校发生了变化

    curl -X PUT "localhost:9200/triumphxx/_doc/1"
    {
      "name":"triumphxx"
    }

    执行成功后返回如下的内容

    {
        "_index""triumphxx",
        "_type""_doc",
        "_id""1",
        "_version"1,
        "result""created",
        "_shards": {
            "total"2,
            "successful"1,
            "failed"0
        },
        "_seq_no"0,
        "_primary_term"1
    }

    继续查看索引,观察在索引triumphxx是否文档数目发生了变化,可以看索引下的文档数目为1

    查询文档

    执行如下的命令,查询我们上文添加的文档

    curl -X GET "localhost:9200/triumphxx/_doc/1?pretty"

    可以看到我们将刚添加进去的文档查询了出来,包括索引名称、文档类型、文档id等,档的内容在_source的下面进行展示

    删除索引

    执行如下命令,进行索引的删除,如下图,表示索引已经删除成功。

    curl -X DELETE "localhost:9200/triumphxx?pretty"

    我们进行索引的查询,看是否已经删除,执行curl -X GET "localhost:9200/_cat/indices?v"可以看到已经没有索引的存在了。

    小结

    好了,小伙伴们,今天我们就聊到这里了,今天主要和大家介绍了我们如何查看集群的状态是否运行良好,以及针对索引库的增、删、查以及如何创建文档,以后的文章我们还会深入的聊这些内容以及其他的内容。

  • 相关阅读:
    用Xamarin + VS 编写Android程序体验及其与Android Studio的比较
    【Android】XML文件的解析
    【Ubuntu】您没有查看“sf_VirtualDisk”的内容所需的权限。
    Android酷炫实用的开源框架(UI框架)
    Linux下安装gcc 、g++ 、gfortran编译器
    Ubuntu 分辨率调整及操作问题解决
    “this kernel requires an x86-64 CPU, but only detects an i686 CPU, unable to boot” 问题解决
    【Android】沉浸式状态栏实现
    【Android】基于TCP协议的网络通信
    C#中string和byte[]相互转换问题解决
  • 原文地址:https://www.cnblogs.com/triumph-wyp-com/p/13564508.html
Copyright © 2011-2022 走看看