当前位置: 首页 > article >正文

Es 基础操作 增删改查

     ES想知道大家应该都很熟悉了,今天就来稍微介绍入门下 也是为了帮助自己记忆

一. ES专属名称

看上面图就知道了  具体分片副本的就不讲那么细了  还有个倒排索引可以了解下 相当于把内容拆分成分词 然后每个分词都对应哪些内容对应的id  这样查到了分词就能查到哪些内容有这个词

ps :特别强调7.x版本后就没有type了   差不多就相当于索引 = 表  文档=数据了

 二. ES基本操作 (直接学这个就好了 版本7.x)

         1.创建索引(表)

PUT /my_index
{
  "settings": {
    "number_of_shards": 1,  // 指定索引的分片数
    "number_of_replicas": 1  // 指定每个主分片的副本数
  },
  "mappings": {
    "properties": {
      "title": {
        "type": "text"  // 标题字段,全文搜索类型
      },
      "author": {
        "type": "keyword"  // 作者字段,适合精确匹配,不用于全文搜索
      },
      "published_date": {
        "type": "date"  // 出版日期字段,存储日期类型
      },
      "content": {
        "type": "text"  // 内容字段,全文搜索类型
      },
      "tags": {
        "type": "keyword"  // 标签字段,适合存储多个标签,支持精确匹配
      }
    }
  }
}

        删除修改等后面遇到了再查吧

        2.文档操作增删改查 (同样只写个最基础的)

        新增修改
 

PUT /user/user/1
{
  "id":1,
  "name":"战三",
  "age":18
}

            post全量新增修改   可以不指定id(不指定记得返回保存id)

            put全量新增修改    必须指定id

             post修改单独某个doc列  需要改成 post /user/user/1/_update

           删除

// 条件删
POST /my_index/_delete_by_query
{
  "query": {
    "term": {
      "author": "张三"
    }
  }
}
// id删除
DELETE /my_index/_doc/id

.查询(比较重要)

        ES主要就是解决查询问题 这个当然是重点

{
  "query": {                               // 查询对象
    // 使用 "match_all" 查询,获取所有文档
    "match_all": {}                        
    // 使用 "term" 查询,精确查询
    "term": {
      "price": {
        "value": "1899.99"                 
      }
    }
    // 使用 "match" 查询,匹配列 分词查询文档
   "match": {
      "title": "小米 手机"
    }

    // 使用 "match_phras" 查询,匹配列 不分词查询文档
   "match_phras": {
      "title": "小米 手机"
    }

    // 使用 "range" 查询,匹配范围 查询文档
    "range": {
      "price": {
        "gte": 1600,
        "lte": 2800
      }
    }


  },
  "from": 0,                               // 从第0个结果开始,表示第一页
  "size": 10,                              // 返回10条结果,表示每页显示10条文档
  "sort": [                                // 排序数组,用于指定结果的排序
    {
      "timestamp": {                       // 按照timestamp字段进行排序
        "order": "desc"                   // 降序排列,最新的文档排在前面
      }
    }
  ]
}


http://www.kler.cn/a/379986.html

相关文章:

  • 2024年云手机推荐榜单:高性能云手机推荐
  • 使用正则表达式验证积累
  • Linux中使用NGINX
  • UFO:Windows操作系统的具象智能代理
  • js实现blob类型转化为excel文件
  • Linux·进程控制(system V)
  • 一些常用的react hooks以及各自的作用
  • 【漏洞复现】泛微OA E-Office group_xml.php SQL注入漏洞
  • Vue项目与IE浏览器的兼容性分析(Vue|ElementUI)
  • Web大学生网页作业成品——和平精英网页设计与实现(HTML+CSS+JS)(4个页面)
  • MATLAB——矩阵操作
  • CSS基础学习篇——选择器
  • ThreeJS创建一个3D物体的基本流程
  • Github 2024-11-01 开源项目月报 Top19
  • 信息学科平台开发:Spring Boot核心技巧与实践
  • 银行金融知识竞赛活动策划方案
  • 回归预测 | MATLAB实现基于RF-Adaboost随机森林结合AdaBoost多输入单输出回归预测
  • 上云管理之Git/GitHub/GitLab 详解(一)
  • 中汽测评观察 亲子出行健康为先,汽车健康用材成重要考量
  • PHP常量
  • Unity 生命周期的事件顺序
  • 32.Redis高级数据结构HyperLogLog
  • [数组排序] 0912. 排序数组
  • 使用python与Flask对pdf格式文件进行删改
  • 【新手入门软件测试--该如何分辨前后端问题及如何定位日志--前后端问题分辨与日志定位查询问题】
  • 论文笔记(五十四)pi0: A Vision-Language-Action Flow Model for General Robot Control