二、ElasticSearch中索引库与文档操作

【ElasticSearch】(四)—— RestClient操作ES 目录 ​编辑 一、RestClient操作索引 环境搭建 1、导入数据 2、导入项目 3、mapping映射分析 4、初始化RestClient 1)创建索引库 1、代码解读 2、完整示例 2)删除索引库 3)判断索引库是否存在 4)总结 二、RestClient操作文档 1)新增文档 1、索引库实体类 2、语法说明 3、完整代码 2)查询文档 1、语法说明 2、完整代码 3)删除文档 4)修改文档 1、语法说明 2、完整代码 5)批量导入文档 1、.. 阅读详情

二、索引库与文档

2.1 mapping映射属性

  • mapping映射属性

官方网址:https://www.elastic.co/guide/en/elasticsearch/reference/7.12/dynamic-mapping.html

mapping 是对索引库中文档的约束,常见的mapping属性包括

  • type: 字段数据类型,常见的简单类型有:
    • 字符串: text (可分词的文本);keyword (精确值,例如: 品牌、国家、ip地址)。如下:email字段就是不可拆分字段。info属于可拆分字段。
    • 数值: long、integer、short、byte、double、float、
    • 布尔: boolean
    • 日期: date
    • 对象: object
  • index:是否创建索引,默认为true
  • analyzer:使用哪种分词器
  • properties:该字段的子字段
{
    "age": 21,
    "weight": 52.1,
    "info":"我们在学ES",
    "isMarried": false,
    "email":"zy@itcast.cn",
    "score": [99.1,99.5,98.9],
    "name":{
		"firstName":"云",
        "LastName":"赵"
    }
}

2.2 操作索引库

ES中通过Restful请求操作索引库、文档。请求内容用DSL语句来表示。创建索引库和mapping的DSL语法如下:

PUT /索引库名称
"mappings": {
    "properties": {
        "字段名":{
            "type":"text",
            "analyzer":"ik_smart"
        }
		"字段名2":{
        	"type":"keyword",
        	"index":"false"
    	}
		"字段名3":{
    		"properties": {
    			"子字段": {"type":"keyword"}
			}
		}
	},
	// 略
}

索引库的CRUD

# 创建索引库
PUT /hhyy
{
  "mappings": {
    "properties": {
      "info":{
        "type":"text",
        "analyzer": "ik_smart"
      },
      "email":{
        "type": "keyword",
        "index": false
      },
      "name":{
        "type": "object",
        "properties": {
          "firstName":{
            "type":"keyword"
          },
          "lastName":{
            "type":"keyword"
          }
        }
      }
    }
  }
}
# 创建
PUT /hhyy
# 删除
DELETE /hhyy
# 查询
GET /hhyy

# 修改[添加新字段],只能添加,不能更新
# 更新索引过于消耗资源
PUT /hhyy/_mapping
{
  "properties":{
    "age":{
      "type":"integer"
    }
  }
}

2.3 文档操作

  • 添加文档

新增文档的DSL语法如下:

POST /索引库名/_doc/文档id
{
  "字段1":"值1",
  "字段2":"值2",
  "字段3":{
    "子属性1":"值3",
    "子属性2":"值4"
  },
}		

示例:

# 插入文档
POST /hhyy/_doc/1
{
  "info":"我们学习ES",
  "email":"hhh@out.com",
  "name":{
    "firstName":"Jack",
    "lastName":"hh"
  }
}

# 获取
GET /hhyy/_doc/1
# 删除
DELETE /hhyy/_doc/1

修改

# 修改文档
# 全量修改,会删除旧文档,添加新文档
# 若id存在就修改,不存在就新增
PUT /hhyy/_doc/2
{
  "info":"我们学习ES1111",
  "email":"hhh@out.com",
  "name":{
    "firstName":"Jack",
    "lastName":"hh"
  }
}
GET /hhyy/_doc/2

# 增量修改,
POST /hhyy/_update/2
{
  "doc":{
    "info":"我们都要努力学习ES"
  }
}

GET /hhyy/_doc/2

上一篇:一、初识 Elasticsearch:概念,安装,设置分词器

下一篇:三、RestClient(writing)

Elasticsearch —— ES 环境搭建、概念、基本操作、文档操作、SpringBoot继承ES 链接:提取码: xr76一、注:环境搭建过程中的命令窗口不能关闭,关闭了服务就会关闭(除了修改设置后重启的)●ES 下载地址:默认打开是最新版本新建一个文件夹,重名为 ES ,将解压在 bin 目录中 双击启动 elasticsearch.bat访问 http://127.0.0.1:9200成功●前提需要安装 nodejsgithub 下载 elasticsearch head :解压从界面访问 9200 服务会出现跨域问题。 阅读详情

相关推荐

Elasticsearch——索引库操作

Index就类似数据库表,Mapping映射就类似表的结构。我们要向es中存储数据,必须先创建Index和Mapping。

gnwu1111的专栏 922

ElasticSearch索引库操作②(索引库CRUD,文档CRUD)

索引库操作有哪些?创建索引库:PUT /索引库名查询索引库:GET /索引库名删除索引库:DELETE /索引库名修改索引库,添加字段:PUT /索引库名/_mapping可以看到,对索引库的操作基本遵循的Restful的风格,因此API接口非常统一,方便记忆。文档操作有哪些?

weixin_57558097的博客 1238

Elasticsearch 索引库与文档操作

虽然无法修改mapping中已有的字段,但是却允许添加新的字段到mapping中,因为不会对倒排索引产生影响。倒排索引结构虽然不复杂,但是一旦数据结构改变(比如改变了分词器),就需要重新创建倒排索引,这简直是灾难。Elasticsearch索引库就类似数据库表,mapping映射就类似表的结构。这里我们统一使用Kibana编写DSL的方式来演示。我们要向es中存储数据,必须先创建“库”和“表”。类似于mysql的创建库和表。请求方式DELETE。请求路径/索引库名。请求路径/索引库名。......

流楚丶格念的博客 2556

Elasticsearch详细笔记(二):索引库操作--文档操作

关于Elasticsearch索引库操作和文档操作的知识

m0_73927143的博客 1132

从无序到结构化:HAC框架如何用哈希网格重构3D高斯压缩范式 | ECCV2024技术解读

本文深入解读了ECCV 2024提出的HAC框架,它通过引入二值哈希网格为无序的3D高斯锚点建立空间结构,并利用上下文模型进行自适应量化,从而实现了对3D Gaussian Splatting模型的高效压缩。该方法将压缩范式从单纯削减数据转向智能理解数据关系,在保持高质量渲染的同时,显著提升了压缩率,为移动端部署和实时应用提供了新方案。

yolo5detector的博客 459

双传声器法测量吸声材料的吸声系数(公式推导与解释)

在双传声器法中,通过测量两个位置的声压 p1和 p2​,可以分离出入射波和反射波的声压分量。双传声器法一般在阻抗管中进行,阻抗管的一端为平面波声源,另一端放置待测材料。两个传声器放置在靠近材料的阻抗管内,用于测量管道内的声压。双传声器法是一种常用于测量材料吸声系数的实验方法,通过在管道内使用两个传声器测量声波的入射和反射,来计算出材料的吸声系数。当测试样品较少时,测试时,需要交换两个传声器的位置,目的是为了相位校准。

m0_57407372的博客 1875

ElasticSearch内容分享(二):索引库和文档操作

倒排索引结构虽然不复杂,但是一旦数据结构改变(比如改变了分词器),就需要重新创建倒排索引,这简直是灾难。根据rest风格,新增是post,查询应该是get,不过查询一般都需要条件,这里我们把文档id带上。字符串:text(可分词的文本)、keyword(精确值,例如:品牌、国家、ip地址):如果根据id删除时,id不存在,第二步的新增也会执行,也就从修改变成了新增操作了。索引库就类似数据库表,mapping映射就类似表的结构。增量修改是只修改指定id匹配的文档中的部分字段。

之乎者也·的博客 1198

保姆级教程:用MATLAB搞定双目相机标定,从导入图片到参数解读全流程

本文提供了一份详细的MATLAB双目相机标定全流程指南,涵盖从图片准备到参数解读的每个环节。重点讲解了棋盘格选择、拍摄技巧、MATLAB工具箱设置及参数优化,帮助读者避免常见错误并提升标定精度。特别适合机器人导航、三维重建等领域的开发者。

weixin_33737134的博客 428

【微服务】Elasticsearch文档&索引库操作(二)

本文介绍的是Es如何在kibana中操作文档与索引库,讲述了相关DSL语法,此外讲述了在Java中使用RestHighLevelClient操作ES中的文档和索引库。

观止study 1606

BOM 数据模型设计

字段名数据类型必填说明物料编码 (Part Number)字符串是唯一标识,主键。建议包含分类前缀(如STD-GEN-CUS-物料名称 (Part Name)字符串是版本 (Revision)字符串是如AB1.0,与编码组合构成唯一实例。状态 (Status)枚举是设计中(Draft)已发布(Released)已归档(Archived)已作废(Obsoleted)类型 (Type)枚举是专用件(Custom)借用件(Borrowed)通用件(Generic)标准件(Standard)

Davina_yu的博客 1756

从入门到精通:dirmap 高级 Web 目录扫描实战指南

本文提供了一份从环境搭建到高级配置的dirmap Web目录扫描实战指南。详细解析了工具安装、核心配置文件dirmap.conf的深度调优,包括递归扫描、四种扫描模式(字典、爆破、爬虫、Fuzz)的实战应用,并演示了分阶段资产发现的完整工作流程,帮助安全人员高效发现隐藏目录与敏感文件。

rnn9storyteller的博客 480

Elasticsearch索引库和文档的相关操作

最近一直在复习Elasticsearch相关的知识,公司搜索相关的技术用到了这个,用公司电脑配了环境,借鉴黑马的课程进行了小结。

小威的博客 3万+

【第一章】基于Simulink的控制器开发教程——目录

摘要:本文系统介绍了基于Simulink的控制器开发方法,涵盖PID、状态反馈、模型预测(MPC)、模糊控制、自适应控制等8类主流控制器。针对每种控制器,详细阐述了其基本原理、适用场景,并通过Simulink建模与仿真测试进行实践验证。文章采用"理论+实践"的结构,从算法设计到硬件实现全流程展开,为汽车、航空航天、工业控制等领域的控制器开发提供完整解决方案,最后通过应用对比与学习总结帮助读者掌握不同控制器的核心特性和应用场景。(149字)

熟悉MATLAB/fpga/RK3588/LABVIEW/protus/单片机/dsp/Multisim 387

微服务篇-深入了解索引库与文档 CRUD 操作、使用 RestCliet API 操作索引库与文档 CRUD(Java 客户端连接 Elasticsearch 服务端)

微服务篇-深入了解索引库与文档 CRUD 操作、使用 RestCliet API 操作索引库与文档 CRUD(Java 客户端连接 Elasticsearch 服务端)Index 就类似数据库表,Mapping 映射就类似表的结构。要向 es 中存储数据,必须先创建 Index 和 Mapping 。

小扳手 8288

【用unity实现100个游戏之7】实现一个类《杀戮尖塔》的卡牌回合制游戏(附项目源码)

【用unity实现100个游戏之7】实现一个类《杀戮尖塔》的卡牌回合制游戏(附项目源码)

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1万+

uniapp [全端兼容] - 实现全景图Vr 720°全景效果查看预览功能,3D全景图流畅不卡顿渲染+手势拖拽+悬浮工具按钮,uniAPP实现vr看720度全景效果示例代码(H5小程序APP全兼容)

uniapp显示720度全景图,720°全景图显示,在h5中展示720°全景图,浏览全景图,基于uniApp实现vr全景预览,加载全景图,uni-app全景预览插件,UNI-APP实现3D全景图,实现720°全景图展示,uniapp全景视频播放,uniapp项目实现vr720度全景图片预览,在网页上展示760全景图片和视频,全景图场景切换,UNIAPP全景VR图,uniapp加载720全景图_uniapp怎么加载vr图片,uniapp实现vr全景看房,uni-app实现全景效果,加载很慢卡怎么办,实现全景预

🏆 前端领域优质创作者 1万+

elasticsearch(ES)分布式搜索引擎01——(初识ES,索引库操作和文档操作,RestClient操作索引库和文档)

什么是elasticsearch?一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能什么是elastic stack(ELK)?是以elasticsearch为核心的技术栈,包括beats、Logstash、kibana、elasticsearch什么是Lucene?是Apache的开源搜索引擎类库,提供了搜索引擎的核心API分词器的作用是什么?创建倒排索引时对文档分词用户搜索时,对输入的内容分词IK分词器有几种模式?ik_smart:智能切分,粗粒度。

qq_59708493的博客 2111

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

微服务 分布式搜索引擎 Elastic Search 索引库与文档操作

分布式搜索引擎 Elastic Search 索引库与文档? 一文搞定!

wanghuichen的博客 2939

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

ElasticSearch搜索引擎的索引库操作

索引库就类似数据库表,mapping映射就类似表的结构。我们要向es中存储数据,必须先创建“库”和“表”。

#helloworld的博客 1324

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

elasticsearch索引库操作以及文档操作

索引库操作有哪些?创建索引库:PUT /索引库名查询索引库:GET /索引库名删除索引库:DELETE /索引库名添加字段:PUT /索引库名/_mapping。

几许的博客 1348

ElasticSearch之RestClient操作索引库和文档

前面记录了在网页端使用DSL语句对Elasticsearch的索引库和文档进行增删改查的简单操作。但是在日常的开发工作中,还是用Java语言操作比较多,因此需要使用Elasticsearch官方提供的RestClient操作索引库和文档。

小威的博客 2万+

黑马-Cloud21版-实用篇05:分布式搜索引擎01:es的概念以及安装es、kibana,索引库操作,文档操作,java代码操作索引库,java代码操作文档

分布式搜索引擎01 – elasticsearch基础 0.学习目标 1.初识elasticsearch 说明:随着业务的发展我们的数据量越来越庞大,传统的这种mysql数据库就渐渐的难以满足我们复杂的业务需求了,所以在微服务架构下一般都会用到一种分布式搜索的技术,今天就开始学习分布式搜索当中最为流行的一种elasticsearch。 1.1.了解ES 1.1.1.elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需

aa35434的博客 1456

elasticsearch 索引库操作和文档操作

倒排索引结构虽然不复杂,但是一旦数据结构改变(比如改变了分词器),就需要重新创建倒排索引,这简直是灾难。虽然无法修改mapping中已有的字段,但是却允许添加新的字段到mapping中,因为不会对倒排索引产生影响。根据rest风格,新增是post,查询应该是get,不过查询一般都需要条件,这里我们把文档id带上。:如果根据id删除时,id不存在,第二步的新增也会执行,也就从修改变成了新增操作了。索引库就类似数据库表,mapping映射就类似表的结构。增量修改是只修改指定id匹配的文档中的部分字段。

个人博客,记录了本人学习的各种有趣的技术。 1203

Es概念理解 ▎Es索引库操作 ▎Es文档操作

正向索引:Mysql采用正向索引,正向索引基于文档id创建索引.查询词条时必须先找到文档,而后判断是否包含搜索的内容.字符串:text(可分词的文本),keyword(精确值,例如:品牌,国家,邮箱)数值:long,integer,short,byte,double,float。index:是否创建索引参与搜索,默认为true,如果不需要参与搜索设置为false。"info":"我叫张三丰,是太极拳创始人",索引库和mapping一旦创建无法修改,但是可以添加新的字段。"name":"张三丰”,

Dreamkidya的博客 1119

ElasticSearch基础篇-索引库操作、文档操作

Elasticsearch中的索引库操作类似于数据库表,Mapping映射则类似于表结构。Mapping定义了索引库中文档的约束,包括字段类型(如text、keyword、integer等)、是否创建索引、分词器等属性。索引库的CRUD操作遵循Restful风格的API,通过PUT、GET、DELETE等请求方式实现。创建索引库时需要定义Mapping,查询和删除索引库则直接通过索引库名进行操作。修改索引库时,虽然无法更改已有字段,但可以添加新字段。文档操作包括新增、删除、修改和查询,数据以JSON格式存储

2201_75442471的博客 1313

ElasticSearch客户端JavaRestClient③(SpringBoot整合ES、结合spring-boot-test测试ES操作、索引库操作、文档操作)

结合spring-boot-test测试ES操作,SpringBoot整合ES、索引库CRUD操作、文档CRUD操作。JavaRestClient操作elasticsearch的流程基本类似。核心是方法来获取索引库的操作对象。索引库操作的基本步骤:初始化创建XxxIndexRequest。XXX是CreateGetDelete准备请求参数(Create时需要,其它是无参,可以省略)发送请求。调用方法,xxx是createexistsdelete。

weixin_57558097的博客 1555
上一篇: 一、初识 Elasticsearch:概念,安装,设置分词器
下一篇: 三、RestClient操作索引库与文档
种花途。
博客等级 码龄10年 3粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值