Elasticsearch

Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎


kibana 创建索引

js 复制代码
// PUT /索引名/类型名/文档id
// {请求体}
PUT /test1/type1/1
{
  "name":"zhangsan",
  "age":1
}

设置索引规则(指定字段的类型)

js 复制代码
PUT /test2
{
  "mappings":{
    "properties": {
      "name":{
        // text类型会进行分词解析
        "type": "text"
      },
      "age":{
        "type": "long"
      },
      "birthday":{
        "type": "date"
      },
      "desc":{
        // keyword类型不会进行分词解析,会整体匹配
        "type": "keyword"
      }
    }
  }
}

修改文档

js 复制代码
方法一:直接使用PUT方式覆盖(未涉及的字段会被清空值)
方法二:使用POST方式在末尾加上"/_update"(不加的话,未涉及的字段也会被清空值)
POST /test1/type1/1/_update
{
 "doc": {
    "name":"zhangsan",
    "age":1
  }
}
修改后,version 属性会加 1

删除索引、文档

js 复制代码
DELETE 索引名
DELETE 索引名/类型名/文档id

查询索引、文档信息

js 复制代码
GET 索引名
GET 索引名/类型名/文档id
// 条件查询
GET 索引名/类型名/_search?q=name:zhangsan
查询结果的匹配度越高,那么"_score"属性值就越大

查询

javascript 复制代码
GET 索引名/类型名/_search
{
  "query": {
    "match": {
      // 多个条件使用空格隔开
      "字段名": "zhangsan lisi"
    }
  },
  // 查询哪些字段,默认查询所有
  "_source": ["name","age"],
  // 排序
  "sort": [
    {
      "age": {
        "order": "desc"
      }
    }
  ],
  //过滤器
  "filter": [
    {
      // 范围
      "range": {
        "age": {
          // gt:大于
          // lt:小于
          // gte:大于 等于
          // lte:小于 等于
          "gte": 1,
          "lte": 3
        }
      }
    }
  ],
  // 分页查询
  "from": 0,
  "size": 2,
  // 高亮查询
  "highlight": {
    // 自定义高亮前缀
    "pre_tags": "<div>",
    // 自定义高亮后缀
    "post_tags": "</div>",
    "fields": {
      "name": {}
    }
  }
}

多条件查询

js 复制代码
"query": {
  "bool": {
    // must:所有条件必须匹配,相当于 and
    // must_not:所有条件必须不匹配,相当于 not
    // should:匹配其中之一即可,相当于 or
    "must": [
      {
        "match": {
          "name": "zahngsan"
        }
      },
      {
        "match": {
          "age": "2"
        }
      }
    ]
  }
}

分词器

js 复制代码
GET _analyze
{
  // keyword 不进行分词解析
  // standard 进行分词解析
  "analyzer": "keyword",
  "text": ["春眠不觉晓"]
}
相关推荐
Tattoo_Welkin8 分钟前
IDEA 中常用操作记载
java·elasticsearch·intellij-idea
Elasticsearch1 小时前
Elastic 机器学习预测你的磁盘何时会填满:如何让它向你发出告警
elasticsearch
Elasticsearch1 小时前
500 个服务时快 6 倍:我们如何将 Kibana APM 服务地图从 Canvas 重构到 React DOM
elasticsearch
Ai拆代码的曹操13 小时前
Git 集成:AI 代理中的版本控制工作流设计
大数据·git·elasticsearch
Elasticsearch16 小时前
Elastic Observability 更新后的指标定价:业界领先的指标能力 —— 现在成本也更低!
elasticsearch
Elasticsearch16 小时前
Elastic 新的指标能力将显著提升公共部门 IT 的正常运行时间
elasticsearch
Elasticsearch19 小时前
Elastic 作为创始成员加入 Open Secure AI Alliance,与 NVIDIA 及行业领导者共同推动 AI 安全与保障
elasticsearch
Elasticsearch19 小时前
你的 agents 一直在记录凭证:将 Elastic Agent Builder 内置的 OTel traces 转换为 Kibana 中的 token 成本
elasticsearch
Elasticsearch20 小时前
一个提示词,一个完整工作流:Elastic 的 AI agent 为你编写自动化流程
elasticsearch
暖和_白开水21 小时前
数据分析agent(十三_7):meta_demo:ES
elasticsearch·数据挖掘·数据分析