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

Elasticsearch 创建索引 Mapping映射属性 索引库操作 增删改查

Mapping Type映射属性

mapping是对索引库中文档的约束,有以下类型。

  • text:用于分析和全文搜索,通常适用于长文本字段。
  • keyword:用于精确匹配,不会进行分析,适用于标签、ID 等精确匹配场景。
  • integer、long、float、double:用于存储数字数据。
  • date:用于存储日期数据。
  • boolean:用于存储布尔值(true/false)。
  • object:用于嵌套对象,通常用于存储结构化的数据。
  • nested:与 object 类似,但允许嵌套查询。

Index属性
index 属性用于字段映射(mapping)中,来指示该字段是否被索引、是否可搜索,或者是否需要其他特殊的处理。该属性的设置直接影响字段的存储方式和搜索效率。在实际开发中,会有一些附带的值这些值并不需要搜索,如:备注,商品的封面URL等他默认是Index:true,需给这些字段设置成false。

analyzer 分词器
指定使用哪个分词器。

properties字段
用来表示字段。


索引库操作

Elasticsearch提供的所有API都是Restful的接口,遵循Restful的基本规范。
在这里插入图片描述

创建索引库

商品表字段
在这里插入图片描述
抽出搜索商品的字段
抽出搜索商品的字段在es创建索引。

  • 商品名称:参与搜索
  • 商品价格:参与搜索,按价格区间搜索
  • 商品封面:不参与搜索,搜索时需要一起返回
  • 限购次数:不参与搜索,搜索时需要一起返回

请求方式:PUT http://172.23.4.130:9200/goods

  • goods 库名
  • PUT Restful 风格
{"mappings": {"properties": {"title": {"type": "text","analyzer": "ik_smart"},"pie": {"type": "long"},"cover":{"type": "keyword","index": false},"quota":{"type": "keyword","index": false}}}
}

创建成功

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

查询所有

请求方式:GET http://172.23.4.130:9200/goods

查询成功

{"goods": {"aliases": {},"mappings": {"properties": {"cover": {"type": "keyword","index": false},"pie": {"type": "long"},"quota": {"type": "keyword","index": false},"title": {"type": "text","analyzer": "ik_smart"}}},"settings": {"index": {"routing": {"allocation": {"include": {"_tier_preference": "data_content"}}},"number_of_shards": "1","provided_name": "goods","creation_date": "1735986796036","number_of_replicas": "1","uuid": "jCkFMX3qSzimtWEmWHvpwQ","version": {"created": "7120199"}}}}
}

删除索引库

请求方式:DELETE http://172.23.4.130:9200/goods


修改索引库

在Elasticsearch不可以对已有的索引进行修改,但是可以添加新的索引。

请求方式:PUT http://172.23.4.130:9200/goods/_mapping

{"properties": {"id": {"type": "keyword","index": false}} 
}
http://www.lryc.cn/news/516271.html

相关文章:

  • 【NLP高频面题 - 分布式训练篇】ZeRO主要为了解决什么问题?
  • kubernetes-循序渐进了解coredns
  • mysql8 从C++源码角度看 客户端发送的sql信息 mysql服务端从网络读取到buff缓存中
  • pygame飞机大战
  • 【Vim Masterclass 笔记08】第 6 章:Vim 中的文本变换及替换操作 + S06L20:文本的插入、变更、替换,以及合并操作
  • Tailwind CSS 实战:动画效果设计与实现
  • 【动手学电机驱动】STM32-MBD(3)Simulink 状态机模型的部署
  • Linux 服务器启用 DNS 加密
  • PyTorch不同优化器比较
  • stm32的掉电检测机制——PVD
  • Nginx 文件名逻辑漏洞(CVE-2013-4547)
  • Java 21 优雅和安全地处理 null
  • AWS Glue基础知识
  • Kubernetes——part4-1 Kubernetes集群 服务暴露 Nginx Ingress Controller
  • Flutter入门,Flutter基础知识总结。
  • weight decay 和L2是一个东西吗
  • JavaScript系列(8)-- Array高级操作
  • Harmony开发【笔记1】报错解决(字段名写错了。。)
  • MAC环境安装(卸载)软件
  • 【Vim Masterclass 笔记05】第 4 章:Vim 的帮助系统与同步练习(L14+L15+L16)
  • Multisim更新:振幅调制器+解调器(含仿真程序+文档+原理图+PCB)
  • CentOS — 群组管理
  • 【pytorch】注意力机制-1
  • html 元素中的data-v-xxxxxx 是什么?为什么有的元素有?有的没有?
  • 第27周:文献阅读及机器学习
  • 回归预测 | MATLAB实ELM-Adaboost多输入单输出回归预测
  • Swift Protocols(协议)、Extensions(扩展)、Error Handling(错误处理)、Generics(泛型)
  • .NET中的强名称和签名机制
  • 使用 NestJS 构建高效且模块化的 Node.js 应用程序,从安装到第一个 API 端点:一步一步指南
  • 2025年大模型技术发展趋势展望:高速旋转的飞轮