elasticsearch 数据认识 与 数据表\文档 的增删改

 

 

【Elasticsearch 7.8.1】当前版本

新建 mingduhui 的数据库 \ 检索库  向其中新增表 操作如下

复制代码
复制代码
PUT /mingduhui/_mapping/goods
    {
            
                "properties": {
                    "id": {
                        "type": "long",
                        "store": true,
                    },
                    "title": {
                        "type": "text",
                        "store": true,
                        "index":true,
                        "analyzer":"standard"
                    },
                    "content": {
                        "type": "text",
                        "store": true,
                        "index":true,
                        "analyzer":"standard"
                    }
                }
            
        
    }
复制代码
复制代码

运行结果如下: 报错

 

 

出现问题的原因:在ES7中,不推荐使用映射类型,这会导致此问题的根源发生重大变化。ES团队宣布了弃用,路线图和替代方案。

解决方式:

方式一:删除对映射类型的所有引用(在此示例中为“article”)

方式二:平滑过渡到ES7的另一个临时解决方案是包含?include_type_name=true在URL中。

 

 

添加 指定关键 参数 如下提交请求

复制代码
复制代码
PUT /mingduhui/_mapping/goods?include_type_name=true
    {
            
                "properties": {
                    "id": {
                        "type": "long",
                        "store": true,
                    },
                    "title": {
                        "type": "text",
                        "store": true,
                        "index":true,
                        "analyzer":"standard"
                    },
                    "content": {
                        "type": "text",
                        "store": true,
                        "index":true,
                        "analyzer":"standard"
                    }
                }
            
        
    }
复制代码
复制代码

结果任然报错。

  A. 数据类型

 

 

 

 

 B. index

 

 

 

 

 C. store 

 

 

 

 

 

解决方式:把“index”的值全部改为true/false
指定index true

数据类型 keyword 为关键词 不可以进行分词
复制代码
复制代码
PUT /mingduhui/_mapping/goods?include_type_name=true
    {
      "properties": {
          "id": {
            "type": "long",
            "store": true,
            "index":true
          },
          "title": {
            "type": "text",
            "store": true,
            "index":true,
            "analyzer":"standard"
          },
          "subtitle": {
            "type": "text",
            "store": true,
            "index":true,
            "analyzer":"ik_max_word"
          },
          "images": {
            "type": "keyword",
            "index":true
          },
          "content": {
            "type": "text",
              "store": true,
              "index":true,
              "analyzer":"standard"
          }
      }
    }
复制代码
复制代码

执行结果: 成功

 

复制代码
复制代码
GET mingduhui    

查看 mingduhui的信息,我们刚刚的操作就已经完成了

  • mingduhui:索引库名称
  • mapping:type名称
     
  • goods:文档ID,并不是下面的id属性值
复制代码
复制代码

 

 

 

向 刚刚新建检索表中插入数据

 

复制代码
复制代码
  POST /mingduhui/goods/1
  {
    "id":1,
    "title":"【标题】这是一件出众的衣服",
    "subtitle":"【副标题】描述这个商品的一些细节",
    "images":"【图片】商品图片地址",
    "content":"【富文本】商品详情描述类容"
  }
复制代码
复制代码

 

 

 

2丶更改指定索引文档

复制代码
复制代码
  POST /mingduhui/goods/2
  {
    "id":2,
    "title":"【标题】这是一件出众的衣服",
    "subtitle":"【副标题】222描述这个商品的一些细节",
    "images":"【图片】222商品图片地址",
    "content":"【富文本】222商品详情描述类容"
  }
复制代码
复制代码

 

 

 

 

3丶删除文件

在我们mingduhui 检索库中 的goods检索表中  有两个 检索文档。分别为1 和2。

 

 

DELETE /mingduhui/goods/1
//删除 1的 检索文档。 操作完成

 

 

posted @   xyz叶子  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示