• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

ElasticSearch入门学习笔记2--------Kibana语法学习

武飞扬头像
北海冥鱼未眠
帮助2

ElasticSearch的ResultFul风格

学新通

基于Rest命令说明

学新通

原文链接

基础测试

创建一个索引
put /索引名/类型名/文档id
{
请求体
}

学新通
可以再head里面看到里面多了一个test1。
学新通
从下面的图中可以看到本质上就是往里面put了一条数据。完成之后自动添加索引,所以我们可以暂时把他理解为数据库。
学新通
字段常用类型介绍
这里elasticSearch

字符串类型

text、keyword

数值类型

long、integer、short、byte、double、float、half float、scaled float

日期类型

date

布尔值类型

boolean

二进制类型

binary

自定义字段类型

PUT /test2
{
  "mappings": {
    "properties": {
      "name":{
        "type": "text"
      },
      "age":{
        "type": "long"
      },
      "birthday":{
        "type": "date"
      }
    }
  }
}

单纯地建立索引,定义规则,也就是数据的类型。
学新通
学新通
get命令查看数据。
学新通
创建第三个
学新通

PUT /test3/_doc/1
{
  "name":"北海冥鱼未眠",
  "age":3,
  "birthday":"2000-09-07"
  
}

学新通
查看信息

GET /test3

可以看到这里的类型是自动匹配的。
学新通
利用_cat命令查看信息
学新通
更新数据
第一种方式更新数据,version会改变,版本号会增加。显示状态为update
学新通
第二种更新数据的方式
学新通

POST /test3/_doc/1/_update
{
  "doc":{
    "name":"爱蜜加油"
  }
}

学新通
删除一个库

学新通

学新通
注意:删除命令精确到文档就是删除文档,没有的话,如果只是精确到库,那么就会删除库。

关于文档的基本操作

基本操作

PUT /dongmu/user/1
{
  "name":"北海",
  "age":22,
  "desc":"怕什么真理无穷,进一步有进一步的欢喜",
  "tags":["直男","技术宅","暖男"]
}

学新通
学新通
再插入几条数据
学新通
get查询命令

GET /dongmu/user/2
学新通
更新数据put

PUT /dongmu/user/2
{
  "name":"张三222",
  "age":18,
  "desc":"法外狂徒,进一步有进一步的欢喜",
  "tags":["直男","懒虫"]
}

学新通
更新数据post
更新数据用put,但是也可以使用提交数据的post方式更新数据。

POST /dongmu/user/1/_update
{
  "doc":{
    "name":"冬木"
  }
}

学新通
学新通
要注意post和put更新数据的区别,post方式是更新数据,可以只是单纯地更新某一部分。put则是重新添加数据,就是覆盖原来的数据,如果put的数据里面没有某个字段,那么更新之后原本存在的某一个字段也会消失。

查询get
GET dongmu/user/_search?q=name:张三222
学新通
学新通
学新通

GET dongmu/user/_search
{
  "query":{
    "match":{
     "name":"张三" 
    }
  }
}

学新通
学新通
学新通
学新通
学新通

GET dongmu/user/_search
{
  "query":{
    "match":{
     "name":"张三"
    }
  },
 "sort": [
   {
     "age": {
       "order": "asc"
     }
   }
 ],
 "from": 0,
 "size": 2
}

条件查询
学新通
注意:must相当于是and;也就是两个条件必须都满足
学新通
学新通
查询结果过滤
学新通
学新通
学新通
倒排索引:倒排索引是实现“单词-文档矩阵”的一种具体存储形式,通过倒排索引,可以根据单词快速获取包含这个单词的文档列表。倒排索引主要由两个部分组成:“单词词典”和“倒排文件”。

精确查询:
term:直接查询精确的,通过倒排索引指定的词条进行精确查找的。
match:会使用分词器解析,先解析文档,然后通过分析的文档进行查询。

PUT testdb/_doc/3
{
  "t1":"22",
  "t2":"2022-4-10"
}

PUT testdb/_doc/4
{
  "t1":33,
  "t2":"2022-4-10"
}

GET testdb/_search
{
  "query": {
    "bool": {
      "should": [
        {
          "term": {
            "t1": "22"
          }
        },
        {
          "term": {
            "t1": "33"
          }
        }
      ]
    }
  

学新通

高亮查询
学新通

GET dongmu/user/_search
{
  "query": {
    "match": {
      "name": "张三 冬木"
    }
  },
  "highlight": {
    "fields": {
      "name":{}
    }
  }
}

自定义高亮的标签

GET dongmu/user/_search
{
  "query": {
    "match": {
      "name": "张三 冬木"
    }
  },
  "highlight": {
    "pre_tags": "<p class='key' style='color:red'>",
    "post_tags": "</p>", 
    "fields": {
      "name":{}
    }
  }
}

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgbghga
系列文章
更多 icon
同类精品
更多 icon
继续加载