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": ["春眠不觉晓"]
}
相关推荐
本旺7 小时前
Elasticsearch 前缀匹配性能优化实战,附4种方式即执行计划判别
大数据·elasticsearch·性能优化
Elastic 中国社区官方博客11 小时前
Elastic 在 Everest Group 企业搜索产品 PEAK Matrix® 评估 2026 中被评为领导者
大数据·运维·人工智能·elasticsearch·搜索引擎·ai·全文检索
Java小白笔记13 小时前
Codex Skills 分类整理
大数据·人工智能·elasticsearch·搜索引擎·ai·ai编程·ai写作
Elastic 中国社区官方博客16 小时前
谁来评判评判者?在 Elasticsearch Workflows 中使用 LLM-as-a-Judge
大数据·运维·人工智能·elasticsearch·搜索引擎·ai·全文检索
Elastic 中国社区官方博客19 小时前
使用 Elasticsearch 作为 Grafana 的直接替代 Prometheus 后端
大数据·数据库·sql·elasticsearch·搜索引擎·grafana·prometheus
阿里云大数据AI技术2 天前
AI Search × ES Agent Builder 最佳实践:企业智能助手落地指南
人工智能·elasticsearch
利威尔·3 天前
常用git命令
大数据·elasticsearch·搜索引擎
至乐活着3 天前
ELK日志系统从零搭建到实战:Nginx日志采集与可视化全攻略
nginx·elk·elasticsearch·docker·日志系统
say_fall3 天前
【Git 精品详解】企业规范:企业级开发模型、Git Flow、发版流程规范、Code Owner 制度、事故应急回滚
大数据·linux·服务器·git·学习·elasticsearch
Elastic 中国社区官方博客4 天前
跟踪资金流向:使用 ES|QL 和跨集群搜索追踪洗钱网络
大数据·人工智能·安全·elasticsearch·搜索引擎·金融·全文检索