首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【愚公系列】2023年11月 Java教学课程 209-ElasticSearch(脚本操作)

【愚公系列】2023年11月 Java教学课程 209-ElasticSearch(脚本操作)

作者头像
愚公搬代码
发布于 2025-06-02 07:18:07
发布于 2025-06-02 07:18:07
12400
代码可运行
举报
文章被收录于专栏:历史专栏历史专栏
运行总次数:0
代码可运行
🚀前言

🚀一、ElasticSearch的脚本操作

🔎1.RESTful风格介绍

REST(Representational State Transfer)是一种架构风格,同时也是一种设计原则。RESTful API指符合REST设计原则的API接口。

RESTful风格的API设计需要遵循以下几个原则:

  1. 资源:API的基本设计单位是资源。每个资源都有一个唯一的标识符(URI),客户端通过该URI访问资源。URI应该具有清晰的结构和语义,通常使用名词来表示资源。
  2. 动作:API对资源的操作应该通过HTTP中的标准方法来完成,包括GET、POST、PUT和DELETE。GET方法用于读取资源,POST方法用于创建资源,PUT方法用于更新资源,DELETE方法用于删除资源。
  3. 表示:API应该支持多种数据格式,如JSONXML等。客户端通过Accept和Content-Type头指定期望的数据格式。
  4. 连接:API应该使用标准的URL和HTTP协议。API的URI和HTTP标准方法应该尽可能清晰和简单。API应该使用链接来表示资源之间的关系,例如使用HATEOAS原则。
  5. 状态:API应该是无状态的,即不应该在服务器端保存客户端的状态。客户端应该在每个请求中提供必要的信息,服务器端则根据这些信息来处理请求。

通过遵循RESTful风格的API设计原则,可以使API的设计更加清晰、易于理解和使用。同时,还可以提高API的可扩展性、可维护性和互操作性,使得API更加适用于不同的应用场景。

🔎2.操作索引

PUT

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://ip:端口/索引名称

查询

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
GET http://ip:端口/索引名称  # 查询单个索引信息
GET http://ip:端口/索引名称1,索引名称2...  # 查询多个索引信息
GET http://ip:端口/_all  # 查询所有索引信息

•删除索引

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DELETE http://ip:端口/索引名称

•关闭、打开索引

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
POST http://ip:端口/索引名称/_close  
POST http://ip:端口/索引名称/_open 

🔎3.ES数据类型

在ES中,简单数据类型包括以下几种:

  1. 字符串型(text和keyword):用于存储文本数据,text类型支持全文搜索,而keyword类型则不支持全文搜索。
  2. 数值型:包括整数(integer)、长整数(long)、短整数(short)、字节(byte)、浮点数(float)、双精度浮点数(double)等。
  3. 日期型(date):用于存储日期和时间值,包括年、月、日、小时、分钟、秒等。
  4. 布尔型(boolean):用于表示真/假值。
  5. 二进制型(binary):用于存储二进制数据,如图像、视频、音频等。

上面是ES中常用的简单数据类型,它们可以用来存储大部分的数据。同时,ES还支持其他数据类型,如空间型(geo_point和geo_shape)、数组型(array)、对象型(object)等,用于处理复杂的数据结构

🔎4.操作映射

ElasticSearch的CRUD操作指的是使用ElasticSearch的API实现对索引数据进行创建(Create)、读取(Retrieve)、更新(Update)和删除(Delete)的操作。

  1. 创建(Create)
    • PUT /{index}/{type}/{id}: 创建一个新的文档,如果指定的ID已经存在,则会更新该文档。
    • POST /{index}/{type}/{id}: 创建一个新的文档,如果未指定ID,则ElasticSearch会生成一个唯一的ID。
  2. 读取(Retrieve)
    • GET /{index}/{type}/{id}: 通过指定的ID获取一个文档。
    • GET /{index}/{type}/_search: 通过查询参数搜索匹配的文档。
  3. 更新(Update)
    • POST /{index}/{type}/{id}/_update: 更新指定ID的文档。
  4. 删除(Delete)
    • DELETE /{index}/{type}/{id}: 删除指定ID的文档。

1、创建索引和文档

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
PUT /my_index
{
  "mappings": {
    "properties": {
      "name": {
        "type": "text"
      },
      "age": {
        "type": "integer"
      },
      "email": {
        "type": "keyword"
      }
    }
  }
}

GET person1/_mapping

该请求将创建一个名为"my_index"的索引,其中包含三个字段(“name”、“age"和"email”)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
PUT /my_index/_mapping
{
  "properties": {
      "name": {
        "type": "text"
      },
      "age": {
        "type": "integer"
      }
    }
}

修改映射

🔎5.操作文档

创建文档的方法是使用HTTP POST方法向索引中添加数据,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
POST /my_index/_doc
{
  "name": "John Doe",
  "age": 30,
  "email": "johndoe@example.com"
}

该请求将在"my_index"索引中创建一条文档,包含三个字段(“name”、“age"和"email”)。

  1. 读取文档

在Elasticsearch中,可以使用HTTP GET方法读取文档,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
GET /my_index/_doc/1
# 查询所有文档
GET /my_index/_search

该请求将从"my_index"索引中读取ID为1的文档。如果文档存在,Elasticsearch将返回文档内容,如果文档不存在,则返回404错误。

  1. 更新文档

在Elasticsearch中,可以使用HTTP POST方法更新文档,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
POST /my_index/_update/1
{
  "doc": {
    "name": "Jane Doe",
    "age": 32
  }
}

该请求将更新"my_index"索引中ID为1的文档,将"name"字段的值修改为"Jane Doe","age"字段的值修改为32。

  1. 删除文档

在Elasticsearch中,可以使用HTTP DELETE方法删除文档,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DELETE /my_index/_doc/1

该请求将从"my_index"索引中删除ID为1的文档。如果文档不存在,Elasticsearch将返回404错误。


🚀感谢:给读者的一封信

亲爱的读者,

我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。

如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。

我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-11-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
浅入ElasticSearch
•Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎
小炜同学
2022/09/23
4170
ElasticSearch初体验
构建在开源基础之上, Elastic Stack 让您能够安全可靠地获取任何来源、任何格式的数据,并且能够实时地对数据进行搜索、分析和可视化
小旋锋
2019/01/21
1.1K0
Elasticsearch 学习笔记
es提供了一个测试分词的 api 接口,方便验证分词效果,endpoint 是 _analyze
学徒漠筱歌
2022/07/17
7050
Elasticsearch初检索及高级
PUT customer/external/1 :在 customer 索引下的 external 类型下保存 1号数据
乐心湖
2021/01/18
1.2K0
Elasticsearch初检索及高级
Elasticsearch 快速开始
本文非完全直译译文,主要参考的的是 elasticsearch 6.5 版的官网文档 Getting Started,可以把这篇文章理解为个人学习笔记,我力求详略得当吧。
波罗学
2019/08/26
1.9K0
ElasticSearch 基本操作
REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。Web 应用程序最重要的 REST 原则是,客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在请求之间的任何时间点重启,客户端不会得到通知。此外,无状态请求可以由任何可用服务器回答,这十分适合云计算之类的环境。客户端可以缓存数据以改进性能。
用户9615083
2022/12/25
8620
ElasticSearch 基本操作
ElasticSearch
​ 保存在某个index下,某种type的一个数据document,文档是json格式的,document就像是mysql中的某个table里面的内容。每一行对应的列叫属性
OY
2022/03/20
1.3K0
ElasticSearch
Elasticsearch-04 ES中的术语和基本用法
有时候对象不仅仅只是简单的键值列表, 更多时候它拥有复杂的数据结构, 比如包含日期、 地理位置、 另一个对象或者数组。
小小工匠
2021/08/17
1.2K0
ElasticSearch教程_Elasticsearch原理
Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎。
全栈程序员站长
2022/09/19
2K0
ElasticSearch教程_Elasticsearch原理
Elasticsearch系列(2):Kibana安装与基本REST API
Kibana是一个针对Elasticsearch的开源分析及可视化平台,使用Kibana可以查询、查看并与存储在ES索引的数据进行交互操作,使用Kibana能执行高级的数据分析,并能以图表、表格和地图的形式查看数据。
布禾
2021/06/29
9550
【Elasticsearch】Elasticsearch索引创建与管理详解
在 Elasticsearch 中,索引类似于传统数据库中的数据库。一个索引包含了多个文档,而每个文档都包含了多个字段。以下是一些关键概念:
屿小夏
2025/05/24
6830
【Elasticsearch】Elasticsearch索引创建与管理详解
【愚公系列】2023年11月 Java教学课程 212-ElasticSearch(批量操作和查询详解)
ElasticSearch的操作指令和描述来源于官方文档和社区中使用广泛的ElasticSearch操作手册。下面这些操作指令是ElasticSearch的基本操作,可以帮助用户进行数据的增删改查等常见操作,以及索引、映射和集群管理等高级操作。
愚公搬代码
2025/06/02
1870
【愚公系列】2023年11月 Java教学课程 212-ElasticSearch(批量操作和查询详解)
Elasticsearch-文档的 CRUD
本文介绍文档的 CRUD 操作以及文档的元信息、文档的批量操作以及 REST API 一些常见的返回码。
懒人的小脑
2019/08/15
9610
Elasticsearch-文档的 CRUD
Elasticsearch安装访问
官网下载地址:https://www.elastic.co/cn/downloads/elasticsearch
栗筝i
2023/10/16
3220
Elasticsearch安装访问
【实战】手把手教你使用 Elasticsearch 实现海量级数据搜索(上)
Elasticsearch(简称ES)是一个基于Apache Lucene™的开源搜索引擎,无论在开源还是专有领域,Lucene 可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。
Java极客技术
2022/12/04
3.8K0
【实战】手把手教你使用 Elasticsearch 实现海量级数据搜索(上)
【愚公系列】2023年11月 Java教学课程 208-ElasticSearch(初识和安装)
Elasticsearch是一个开源的分布式搜索引擎和数据分析引擎,它是建立在Lucene搜索引擎库之上的。 ElasticSearch被用于搜索、分析、存储、处理和可视化大量数据,其提供了丰富的查询语言、API和工具,可以快速准确地搜索和分析任意类型和大小的数据,而无需在存储或搜索方面做出任何妥协。 Elasticsearch的主要特点包括高可靠性、可扩展性、实时性、全文搜索、多语言支持、聚合分析、自然语言处理和地理空间搜索等功能。
愚公搬代码
2025/06/02
1520
【愚公系列】2023年11月 Java教学课程 208-ElasticSearch(初识和安装)
ElasticSearch7.8.0Docker安装及入门最基本操作
term 查询, 可以用它处理数字(numbers)、布尔值(Booleans)、日期(dates)以及文本(text,不推荐)。
vivi
2020/07/14
2.3K0
ElasticSearch最全详细使用教程:入门、索引管理、映射详解
墨墨导读:本文介绍了ElasticSearch的必备知识:从入门、索引管理到映射详解。
数据和云
2019/08/12
3.3K0
ElasticSearch最全详细使用教程:入门、索引管理、映射详解
javaScript中的搜索引擎:Elasticsearch与Solr
在现代Web应用中,搜索引擎是提升用户体验、优化信息检索的关键技术。在JavaScript开发领域的话,Elasticsearch和Solr是两款广受欢迎的搜索引擎。
iwhao
2024/07/07
4930
Elasticsearch快速入门,掌握这些刚刚好!
Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式的全文搜索引擎,基于restful web接口。Elasticsearch是用Java语言开发的,基于Apache协议的开源项目,是目前最受欢迎的企业搜索引擎。Elasticsearch广泛运用于云计算中,能够达到实时搜索,具有稳定,可靠,快速的特点。
macrozheng
2020/04/10
8580
Elasticsearch快速入门,掌握这些刚刚好!
相关推荐
浅入ElasticSearch
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档