码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • springboot基础(34):Elasticsearch的基本操作


    文章目录

    • 前言
    • 索引
      • IK分词器
      • 创建索引(带有分词)
      • 查看索引
      • 删除索引
    • 文档
      • 添加文档
        • 第一种方式
        • 第二种方式_doc
        • 第三种方式_create
      • 查询文档
        • 查询单个文档
        • 查询全部文档
        • 按条件查询
      • 删除文档
      • 修改文档
        • 全覆盖修改
        • 部分修改

    前言

    Elasticsearch的基本操作,需要使用postman

    索引

    Es支持Restful风格的请求,可以使用postman来创建索引。
    下面创建了索引:(索引不能重复)
    http://localhost:9200/books PUT
    books为索引名
    在这里插入图片描述

    PUT 创建索引
    GET 查询索引
    DELETE 删除索引

    IK分词器

    默认情况下,Es没有分词器,分词器是以插件包的形式存在。
    下载地址 :https://github.com/medcl/elasticsearch-analysis-ik/releases/

    解压 zip文件后,把内容复制进来
    在这里插入图片描述

    重新启动es即可。

    创建索引(带有分词)

    请求的body格式为raw格式,内容为json格式(如下)
    PUT请求
    http://localhost:9200/books

    all这个属性是虚拟的,不存在的,是通过扩展的形式,将name和description通过copy的方式合并到all里面的

    type:keyword 表示不需要分词,是关键字,text则表示内容需要分词
    analyzer: 分词器,指定分词器名称
    copy_to: 扩展字段复制,组合形成的虚拟字段。

    {
        "mappings":{
            "properties":{
                "id":{
                    "type":"keyword"
                },
                "name":{
                    "type":"text",
                    "analyzer":"ik_max_word",
                    "copy_to":"all"
                },
                "type":{
                    "type":"keyword"
                },
                "description":{
                     "type":"text",
                     "analyzer":"ik_max_word",
                     "copy_to":"all"
                },
                "all":{
                     "type":"text",
                     "analyzer":"ik_max_word"
                }
            }
        }   
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    在这里插入图片描述

    查看索引

    GET请求
    http://localhost:9200/books
    在这里插入图片描述

    删除索引

    DELETE请求
    http://localhost:9200/books
    在这里插入图片描述

    文档

    添加文档

    添加文档都是post方式

    第一种方式

    添加文档可以看到,id并不是我们数据中的id,系统自动生成id
    http://localhost:9200/books/_doc

    {
        "id":1,
        "name":"helloworld",
        "type":"helloworld",
        "description":"helloworld"
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述
    id是由系统生成的随机id,而不是body里的id
    在这里插入图片描述

    第二种方式_doc

    在链接中传入id
    在这里插入图片描述

    第三种方式_create

    使用_create创建文档
    在这里插入图片描述

    查询文档

    查询单个文档

    使用GET请求,
    http://localhost:9200/books/_doc/3
    在这里插入图片描述

    查询全部文档

    使用GET请求,
    http://localhost:9200/books/_search
    在这里插入图片描述

    按条件查询

    使用GET请求,
    http://localhost:9200/books/_search?q=name:hello

    q=name:hello
    q是 query的缩写
    name表示查询的字段
    hello表示关键词

    可以看到没查到任何结果,因为英文的分词是空格,helloworld没有空格,会被认为是一个词,所以不会被分拆。
    在这里插入图片描述

    此时再添加几个符合条件的文档后,再执行查询
    在这里插入图片描述

    删除文档

    DELETE操作
    http://localhost:9200/books/_doc/3
    在这里插入图片描述

    修改文档

    全覆盖修改

    修改操作就是覆盖操作,所以修改和添加是相同的
    这里查询出一条数据进行修改
    在这里插入图片描述

    修改内容,并发送
    在这里插入图片描述
    查询内容,发现内容被完全覆盖了
    在这里插入图片描述

    部分修改

    POST请求
    http://localhost:9200/books/_update/2

    {
        "doc":{
            "name":"hello xiaowang"
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述
    再次查询,可以看到只是部分内容被修改
    在这里插入图片描述

  • 相关阅读:
    Qt::绘制框架-删除线段-QGraphicsScene-removeItem
    Vue2.x - Vue Router
    A66 STM32_HAL库函数 之 USART通用驱动 -- B -- 所有函数的介绍及使用
    升级openssh后出现问题(kex_exchange_identification: client sent。。。。。)
    程序员内心独白:注释,爱恨交加,双标难舍
    长短期记忆神经网络(LSTM)的回归预测(免费完整源代码)【MATLAB】
    “拨”取数字的典例:N位水仙花数判断及水仙花数变种
    idea如何拷贝maven中所引用的所有jar
    9、软件包管理
    Sql 语句小课堂7:在sqlserver对多行数据实施随机数
  • 原文地址:https://blog.csdn.net/u011628753/article/details/125597151
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号