• 【ELK】【ElasticSearch】3.es入门基本操作


    docker安装elasticSearch步骤

    ==================================================================

    本篇参考:

    https://www.cnblogs.com/chenmc/p/9516100.html

    http://nullpointer.pw/%E5%92%8C%E6%88%91%E4%B8%80%E8%B5%B7%E6%89%93%E9%80%A0%E4%B8%AA%E7%AE%80%E5%8D%95%E6%90%9C%E7%B4%A2%E4%B9%8BElasticSearch%E5%85%A5%E9%97%A8.html

    ==================================================================

    1.基础概念

    Index 索引---DB数据库

    Type 类型---数据表

    Document 文档---表中一条记录

    Field 字段---记录中的每个列属性

    Shard 分片---对索引进行分片,分布于集群各个节点上,降低单个节点的压力

    Replica 备份---拷贝分片就完成了备份

    2.基本语法

    接口均符合Rest风格

    API基本格式:

    http://<IP>:<PORT>/<Index>/<Type>/<Document的ID>

    常用HTTP请求方法:

    GET/PUT/POST/DELETE

    3.对于Index索引的介绍和使用

    3.1索引类型

      结构化索引:mappings指定了的。可通过PostMan直接调用接口创建,也可以通过kibana的Dev Tools调用接口创建。【文章下面讲】

      非结构化索引:mappings未指定的,是空的{},可以通过elasticSearch-head创建【参考:https://www.cnblogs.com/chenmc/p/9510514.html

      

     3.2操作索引

      3.2.1 创建名为people的索引[Index],其中指定mappings,包含一个名为man的类型[Type]

      url地址:

    http://192.168.92.130:9200/people

      请求方式:

    PUT

      请求体格式:

    raw   
    JSON(application/json)

      请求体:

    {
        "settings":{
            "number_of_shards":3,
            "number_of_replicas":1
        },
        "mappings":{
            "man":{
                "properties":{
                    "name":{
                        "type":"text"
                    },
                    "country":{
                        "type":"keyword"
                    },
                    "age":{
                        "type":"integer"
                    },
                    "date":{
                        "type":"date",
                        "format":"yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
                    }
                }
            }
        }
    }

     

      

      注意:

        1》请求方式必须是PUT,否则会报错:

        "error": "Incorrect HTTP method for uri [/people] and method [POST], allowed: [PUT, GET, HEAD, DELETE]"

        

        2》关于请求体的解读:

             

        3》关于text和keyword数据类型的区别

          keyword数据类型和text数据类型都是字符串类型

          keyword数据类型不会被分词,可用以存储 姓名、邮箱地址、邮政编码等这类型的文本内容,可以用来检索过滤、排序、聚合。keyword字段只能用自身来进行检索!

          text数据类型会被分词。text数据类型用来索引长文本,在建立索引之前即根据配置的分词器进行分词,搜索是也会根据配置的分词器进行搜索,没配置则使用默认分词器。text类型不会进行排序和聚合。

        4》其他数据类型查看

          https://www.cnblogs.com/sxdcgaq8080/p/10207262.html

     4.通过Rest接口操作数据

      4.1插入数据

        4.1.1指定文档id插入数据

    PUT http://ip:port/index/type/id

        

        

        4.1.2不指定文档id,则自动产生文档id插入数据

    POST  http://ip:port/index/type

        

      4.2修改数据

    POST  http://ip:port/index/type/id/_update

         

      4.3删除数据

      

      4.4删除索引  

    5.通过Rest接口查询数据

      5.1根据ID查询

    GET  http://ip:port/index/type/id

        

      5.2指定条件查询,分页,排序

    POST  http://ip:port/index/_search

        注意请求体

        

        

      5.3分组查询

        

        

      5.4 聚合计算

        

        

      

  • 相关阅读:
    计总与排名SUM和RANK函数
    计算获取最小值和最大值
    列值中获取第一个非空的值
    连续数字使用连接符替换
    展开中断或忽略的序号
    以连接字符截取字符串
    逗号分割字符串经存储过程存入数据表中
    符号分割的字符串转换为XML
    MS SQL Server的STRING_SPLIT和STRING_AGG函数
    MS SQL Server的LTRIM,RTRIM和TRIM函数
  • 原文地址:https://www.cnblogs.com/sxdcgaq8080/p/10375596.html
Copyright © 2020-2023  润新知