• ELK之ES使用


    1、_cluster接口命令

    heakth: 集群健康状况:

    image


    state: 查看集群节点:

    image


    stats: 统计数据; 部分截图

    image


    查看单个节点状况:

    [root@node1 ~]# curl -X GET 'http://node1:9200/_nodes/stats?pretty'


    2、Plugins(插件)

    插件扩展ES的功能:
           添加自定义的映射类型、自定义分析器、本地脚本、自定义发现方式;


    安装:
          方式1:直接将插件放置于plugins目录中即可;
          方式2:使用plugin脚本进行安装;


    安装marvel、bigdesk、head、kopf

    # plugin命令,查看帮助
    [root@node1 ~]# /usr/share/elasticsearch/bin/plugin -h
    
    # 插件可以在线安装,也可以下载后安装
    
    #marvel   在线安装
    http://download.elasticsearch.org/elasticsearch/marvel/marvel-latest.zip #包地址
    [root@node1 ~]# /usr/share/elasticsearch/bin/plugin -install elasticsearch/marvel/latest
    
    #bigdesk  在线安装
    https://github.com/lukas-vlcek/bigdesk/archive/master.zip  #包地址
    [root@node1 ~]# /usr/share/elasticsearch/bin/plugin -install lukas-vlcek/bigdesk
    
    #head  下载后安装,这里下载后改了安装包的名字
    https://github.com/mobz/elasticsearch-head/archive/master.zip  #包地址
    [root@node1 ~]# /usr/share/elasticsearch/bin/plugin -i head -u file:///root/elasticsearch-head-master.zip
    
    #kopf  下载后安装,这里下载后改了安装包的名字
    https://github.com/lmenezes/elasticsearch-kopf/archive/v1.6.2.zip  #包地址
    [root@node1 ~]# /usr/share/elasticsearch/bin/plugin -i kopf -u file:///root/elasticsearch-kopf.zip
    
    
    #列出已安装的插件
    [root@node1 ~]# /usr/share/elasticsearch/bin/plugin -l
    Installed plugins:
        - marvel
        - bigdesk
        - head
        - kopf

    #卸载插件
    [root@node1 ~]# /usr/share/elasticsearch/bin/plugin –r 插件名


    以上几个插件都是站点插件:

    可以通过浏览器来查看:http://HOST:9200/_plugin/插件名


    marvel 一个通过json查询的工具,可惜是收费项目,非开源

    http://192.168.3.111:9200/_plugin/marvel

    image


    bigdesk 统计分析和图表化elasticsearch集群状态信息

    http://192.168.3.111:9200/_plugin/bigdesk

    image


    head 通过web界面来查看elasticsearch集群状态信息

    http://192.168.3.111:9200/_plugin/head/

    image


    kopf 通过web界面来管理和监控elasticsearch集群状态信息

    http://192.168.3.111:9200/_plugin/kopf

    image


    3、CRUD操作相关的API

    插入文档,PUT存在时会替换:

    [root@node1 ~]# curl -XPUT 'localhost:9200/students/class1/1?pretty' -d '
    {
      "first_name": "Jing",
      "last_name": "Guo",
      "gender": "Male",
      "age": 25,
      "courses": "Xianglong Shiba Zhang"
    }'
    
    
    [root@node1 ~]# curl -XPUT 'localhost:9200/students/class1/2?pretty' -d '
    {
      "first_name": "Rong",
      "last_name": "Huang",
      "gender": "Female",
      "age": 23,
      "courses": "Luoying Shenjian"
    }'
    

    image

    index:索引名

    class1:类型

    1和2:id


    查看文档:

    image


    更新文档

    把id为2的age改为2:

    image


    删除文档

    image


    删除索引

    image

    最后还是要把删除的数据创建出来,下面还要用;


    4、查询数据

    query API

          Query DSL:JSON based language for building complex queries.
           用户实现诸多类型的查询操作,比如,simple term query,phrase,range boolean,fuzzy等;


    E5的查询操作执行分为两个阶段:
           分散阶段:
           合并阶段:


    (1)查询方式:
        向ES发起查询请求的方式有两种:
           1、通过Restful request API查询,也称为query string;

                 curl -XGET 'localhost:9200/students/_search?pretty'
           2、通过发送REST request body进行,可以进行更复杂查询;

                 [root@node1 ~]# curl -XGET 'localhost:9200/students/_search?pretty' -d '
                  {
                  "query": {"match_all": {}}
                  }'


    (2)多索引、多类型查询:

        /_search:所有素引;     curl -XGET 'localhost:9200/_search?pretty'
         /INDEX_NAME/_search:单索引;    curl -XGET 'localhost:9200/students/_search?pretty'
         /INDEX1,INDEX2/_search:多索引; 
         /s*,t*/_search:通配符;


         /students/class1/_search:单类型搜索;  curl -XGET 'localhost:9200/students/class1/_search/?pretty'
         /students/class1,class2/_search:多类型搜素;


    (3)Mapping和Analysis:

        ES:对每一个文档,会取得其所有域的所有值,生成一个名为“_all”的域:执行查询时,如果在query_string未指定查询的域,则在_all域上执行查询操作:

    # 在curl命令行中,用%20代指空格
    GET  /_search?q='Xianglong'
    GET  /_search?q='Xianglong%20Shiba%20Zhang'
    GET  /_search?q=courses:'Xianglong%20Shiba%20Zhang'
    GET  /_search?q=courses:'Xianglong'
    前两个:表示在_all域搜索;
    后两个:在指定的域上搜索;

    image


    数据类型:string,numbers,boolean,dates


    查看指定类型的mapping示例:

    image


    ES中搜索的数据广义上可被理解为两类:
         types:exact (精确值)

        full-text


        精确值:指未经加工的原始值:在搜素时进行精确匹配;
         full-text:用于引用文本中效据:判断文档在多大程序上匹配查询请求:即评估文档与用户请求查询的相关度;


        为了完成full-text搜索,ES必须首先分析文本,并创建出倒排索引; 倒排索引中的数据还需进行“正规化”为标准格式;

       分词、正规化:即分析
        


         分析需要由分析器进行:analyzer

            分析器由三个组件构成:字符过滤器、分词器、分词过滤器

            ES内置的分析器:
                  Standard analyzer
                  Simple analyzer
                  Whitespace analyzer
                  Language analyzer

            分析器不仅在创建素引时用到:在构建查询时也会用到;

  • 相关阅读:
    [SoapUI] EndPoint不需要在配置文件中设置不同环境的值,SoapUI自带此参数的设置
    [Training Video
    [Training Video
    [Training Video
    [Training Video
    [Training Video
    [Training Video
    [Training Video
    [Training Video
    [Training Video
  • 原文地址:https://www.cnblogs.com/weiyiming007/p/12748659.html
Copyright © 2020-2023  润新知