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

7.索引库操作

mapping映射属性

mapping是对索引库中文档的约束

常见的mapping属性包括:

type 字段数据类型,常见的简单类型有:

        字符串:text(可分词的文本)  keyword(精确值,例如:品牌、国家,ip地址)

        数值:long integer short byte double float

        布尔:boolean

        日期:date

        对象:object,例如下面name字段的值就是一个json对象。

index 是否创建索引,默认为true,表示创建倒排索引,会参与到搜索。false表示不会创建倒排索引,不会参与搜索。

analyzer: 使用哪种分词器,跟上面type为text的字段结合使用。

properties:该字段的子字段。例如下面指定name字段的子属性firstName和lastName。

es没有数组类型,但是es中允许字段有多个值,所以支持存储数组数据。只需要关注数组中元素的类型就可以了。

{        

        "age": 22,

        "weight": 52.1,

        "isMarried": false,

        "info": "我是一个程序员,很有才华的哟",

        "email": "aaa@qq.com",

        "score": [99, 85, 77]

        "name": {

                "firstName": "云",

                "lastName": "赵"

        }

}

索引库的CRUD

1.创建索引库和mapping的DSL语句

# 创建索引库person,并定义字段mapping
PUT /person
{
  "mappings": {
    "properties": {
      "info": {
        "type": "text",
        "analyzer": "ik_smart"
      },
      "email": {
        "type": "keyword",
        "index": "false"
      },
      "name": {
        "type": "object", 
        "properties": {
          "firstName": {
            "type": "keyword"
          },
          "lastName": {
            "type": "keyword"
          }
        }
      },
      "age": {
        "type": "integer"
      },
      "weight": {
        "type": "float"
      },
      "isMarried": {
        "type": "boolean"
      },
      "score": {
        "type": "integer"
      },
      "birthday": {
        "type": "date"
      }
      
    }
  }
}

 执行结果:

{
  "acknowledged" : true,
  "shards_acknowledged" : true,
  "index" : "person"
}

2.查询索引库

GET /person

3.删除索引库

delete /person

4.修改索引库

在es中可以允许添加新字段,只是禁止修改原字段。

PUT /person/_mapping
{
  "properties": {
    "heigh":{
      "type": "float"
    }
  }
}

{
  "acknowledged" : true
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/253360.html

相关文章:

  • c++_cout的理解和使用
  • OpenStack入门体验
  • Neo4j常见语句-merge
  • 【AI Study】第四天,Pandas(5)- 数据可视化
  • 什么是MapReduce
  • 机器学习常用评估指标
  • 深入理解XGBoost(何龙 著)学习笔记(四)
  • TensorFlow基础之理解张量
  • Linux系统移植10:uboot移植
  • Ubuntu22.04安装opengauss并配置远程访问、JDBC连接
  • 创世新布控球 国标
  • FramePack 全面测评:革新视频生成体验
  • 蚂蚁百宝箱+MCP打造p 人解放神器agent,解放大脑
  • class对象【C#】2025复习
  • linux 下 jenkins 构建 uniapp node-sass 报错
  • rapidocr v3.2.0发布
  • CompletableFuture异步编程的六大典型问题与解决方案
  • 从零学起VIM
  • Zama 的门限密钥管理系统(TKMS)
  • 如何利用小模型,快速筛选照片
  • Vulkan学习笔记10—描述符与统一缓冲区
  • 使用nvm管理npm和pnpm
  • 支持selenium的chrome driver更新到137.0.7151.119
  • Java课堂笔记11
  • 生产者-消费者模式在不同操作系统上的行为差异
  • 分布式选举算法<一> Bully算法
  • 要在 Linux 不联网服务器 上部署并运行 Gitee 上的 vue-vben-admin 项目,并且该项目使用的是 pnpm 管理依赖
  • LLM 支持的基于意图的分类 网络钓鱼电子邮件
  • 设计模式精讲 Day 6:适配器模式(Adapter Pattern)
  • 华为云Flexus+DeepSeek征文 | 基于DeepSeek-R1强化学习的多模态AI Agent企业级应用开发实战:从理论到生产的完整解决方案