微服务SpringCloud ES分布式全文搜索引擎简介 下载安装及简单操作入门

Elasticsearch

ES简介

Elasticsearch(简称ES)是一个开源的分布式搜索和分析引擎,常用于全文搜索、日志存储和分析等场景。它构建在Apache Lucene搜索引擎库之上,提供了一个分布式的多租户能力,支持大规模的数据处理。

主要特性和用途

  1. 全文搜索: Elasticsearch 是为了高效地进行全文搜索而设计的。它支持快速的文本搜索、复杂的查询、高亮显示匹配文本等功能。这使得它在许多应用中被广泛应用,例如电子商务平台的产品搜索、新闻网站的文章检索等。

  2. 实时数据分析: Elasticsearch 可以处理大规模的实时数据分析任务。通过将结构化和非结构化数据索引到Elasticsearch中,用户可以执行复杂的数据分析、聚合和可视化操作,支持企业的数据分析需求。

  3. 分布式和高可用性: Elasticsearch 是一个分布式系统,数据被分布在多个节点上,每个节点可以处理部分查询和数据操作。它具有内置的容错和高可用机制,通过复制和分片技术实现数据的高可用性和水平扩展。

  4. 实时数据处理: Elasticsearch 支持实时数据写入和检索,因此非常适合需要快速存储和检索数据的应用场景,如实时日志处理和监控系统。

  5. 多种数据类型支持: Elasticsearch 不仅仅支持文本数据的索引和搜索,还可以处理地理空间数据、结构化数据等。它提供了丰富的数据类型和灵活的映射机制,使得能够存储和处理各种类型的数据。

  6. 开放的生态系统: Elasticsearch 生态系统丰富,与许多常见的数据存储、数据处理工具和流行的编程语言集成良好。它还支持插件系统和强大的API,使得可以轻松扩展和定制功能。

应用场景

  • 搜索引擎:用于构建复杂的全文搜索引擎,如电商平台的产品搜索、新闻聚合网站的内容搜索等。
  • 日志和指标分析:通过存储和分析大量的日志数据,支持实时监控和分析系统性能和运行状况。
  • 业务分析:支持企业对大数据的实时查询和分析,帮助做出数据驱动的决策。
  • 安全分析:用于实时分析网络安全事件和入侵检测。
  • 地理信息系统:处理和分析地理空间数据,支持地理位置查询和可视化分析。

总之,Elasticsearch 是一个功能强大的搜索和分析引擎,适用于处理大规模数据的搜索、分析和实时数据处理需求。

分布式全文搜索引擎

我们天天在用ES

搜索的时候

要与多个信息进行匹配查找

然后返回给用户

首先

ES会将数据库中的信息

先进行一个拆分

这个叫做分词

是按照词语关键词拆的

然后就能进行搜索的时候匹配对应的id

每一个关键字对应若干id

每一个id对应数据

然后搜索的时候展示简化版数据

点击简化版数据反映全部信息属于的是全文搜索

在数据库中有索引

在ES中也有索引

但是根据关键字查ID 再由ID查数据

这个在全文搜索里叫倒排索引

倒排索引是怎么出现的呢

是根据创建文档 出现一个一个的库

然后我们进行查找的时候就是在使用这个库,使用文档

ES的下载和安装

下载地址

Download Elasticsearch | Elastic

下载好了

内置

有个jdk17

250MB左右

总大小600MB

双击初始化

文件: elasticsearch.bat

查找端口

访问本地地址

http://localhost:9200/

http://localhost:9200/

即可访问到

成功监测访问成功 部署成功

ES索引操作

ES没有数据库的概念

只有索引

我们可以把ES里的索引理解成数据库

用postman进行测试操作

创建一个名字叫books的索引

数据库

表示本次操作成功

索引不允许重复创建

如果再次创建就会报错

我们可以进行查询

用get进行查询

返回结果

代表查询成功

同样的我们通过不同的请求操作

能完成对索引的不同操作

需要的是路径和请求一一对应

幂等性是指一个操作或函数被多次应用后所产生的效果与一次应用时的效果相同的性质。换句话说,如果对同一个对象或系统进行一次或多次操作,最终的状态或结果都是一致的,那么这个操作就是幂等的。

在Web开发中,HTTP方法如GET、PUT、DELETE等应该是幂等的。例如,无论你调用一次还是多次相同的HTTP PUT请求,资源的状态应该是相同的。

这个地方就是放索引的分词信息的

我们下载一个分词器

看看

我们把他放到es的plugins目录下

相当于是装了一个插件

这时候我们要重新启动我们的ES

如果版本一致并且plugins文件夹下只有ik文件夹 即可启动成功

接下来我们就要去使用了

我们在postman里指定路径 在后面跟上一请求体的信息

在postman里写请求体

{"mappings":{"properties":{"id":{"type":"keyword","analyzer":"ik_max_word"},"name":{"type":"text","analyzer":"ik_max_word"},"type":{"type":"keyword"}}}
}

发送后即创建成功

让索引挂上设定

然后数据进来的时候就会进行操作

小结

实际操作

 添加依赖

<dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId><version>7.17.0</version> <!-- 替换为您使用的 Elasticsearch 版本 -->
</dependency>
总结

这段代码是一个 Maven 依赖配置,用于在 Java 项目中引入 Elasticsearch 的高级 REST 客户端库。让我们逐行解释每个部分的含义:

  1. <dependency>: 这是 Maven POM 文件中用来声明项目依赖的标签,告诉 Maven 构建工具需要获取和管理哪些库和版本。

  2. <groupId>: 指定了依赖库的组织或者项目组的唯一标识符。在这里,org.elasticsearch.client 表示 Elasticsearch 官方客户端的组织。

  3. <artifactId>: 指定了具体的库或者项目的名称。在这里,elasticsearch-rest-high-level-client 是 Elasticsearch 的高级 REST 客户端库,它提供了更高级别的 API 接口来与 Elasticsearch 集群进行交互。

  4. <version>: 指定了要使用的库的版本号。在这里,7.17.0 是 Elasticsearch 高级 REST 客户端库的版本号。根据您实际使用的 Elasticsearch 版本,可以将这个版本号替换为适合的版本。

通过这些配置,您的 Maven 项目就能够使用 Elasticsearch 高级 REST 客户端库,从而方便地与 Elasticsearch 进行索引、搜索和管理数据的操作。

连接到 Elasticsearch

import org.apache.http.HttpHost;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;public class ElasticsearchExample {public static void main(String[] args) {// 连接本地 Elasticsearch 服务,默认端口为9200RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(new HttpHost("localhost", 9200, "http")));// 在这里进行索引文档和查询的操作}
}

这段代码是一个简单的 Java 示例,演示了如何使用 Elasticsearch 的高级 REST 客户端连接到本地的 Elasticsearch 服务,并进行基本的索引文档和查询操作。让我们逐行解释代码的各个部分:

  1. import org.apache.http.HttpHost;

    • 这是导入了 Apache 的 HttpHost 类,用于指定 Elasticsearch 服务的主机名、端口和协议。
  2. import org.elasticsearch.client.RestClient;

    • 这是导入了 Elasticsearch 的低级 REST 客户端类 RestClient,用于构建连接 Elasticsearch 的客户端。
  3. import org.elasticsearch.client.RestHighLevelClient;

    • 这是导入了 Elasticsearch 的高级 REST 客户端类 RestHighLevelClient,它提供了更加友好和面向对象的 API 接口,方便进行索引、搜索和管理操作。
  4. public class ElasticsearchExample {

    • 定义了一个名为 ElasticsearchExample 的公共类。
  5. public static void main(String[] args) {

    • 这是 Java 程序的入口点,main 方法是程序执行的起点。
  6. RestHighLevelClient client = new RestHighLevelClient(

    • 创建了一个 RestHighLevelClient 对象 client,用于与 Elasticsearch 服务进行交互。
  7. RestClient.builder(new HttpHost("localhost", 9200, "http")));

    • 使用 RestClient.builder 方法构建了一个 RestClient 实例,参数 new HttpHost("localhost", 9200, "http") 指定了 Elasticsearch 服务的主机名为 localhost,端口为 9200,协议为 http
  8. // 在这里进行索引文档和查询的操作

    • 这是一个注释,表明在这个代码块内可以添加实际的索引文档和查询操作代码。
总结

这段代码的主要作用是建立了与本地 Elasticsearch 服务的连接,并创建了一个高级 REST 客户端 RestHighLevelClient 对象 client。通过这个客户端对象,您可以使用 Elasticsearch 的高级 API 进行索引、搜索和管理数据的操作。

索引文档

import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.common.xcontent.XContentType;public class ElasticsearchExample {public static void main(String[] args) {// 索引文档示例String jsonString = "{" +"\"title\":\"Elasticsearch Basics\"," +"\"content\":\"Elasticsearch is a distributed search and analytics engine.\"" +"}";IndexRequest request = new IndexRequest("my_index").id("1").source(jsonString, XContentType.JSON);try {IndexResponse indexResponse = client.index(request);System.out.println("文档索引成功,文档 ID: " + indexResponse.getId());} catch (IOException e) {e.printStackTrace();}}
}
总结

当然!这段示例代码演示了如何使用 Elasticsearch 的高级 REST 客户端来索引一个文档到指定的索引中。

  1. 准备索引文档的数据: 在示例中,我们定义了一个 JSON 字符串来表示要索引的文档内容。这个文档包括两个字段:titlecontenttitle 字段包含了文档的标题,而 content 字段描述了 Elasticsearch 是一个分布式搜索和分析引擎。

  2. 创建 IndexRequest 对象: 使用 Elasticsearch 的 Java 客户端,我们创建了一个 IndexRequest 对象。这个对象指定了要将文档索引到的目标索引名称(在示例中是 "my_index")和文档的唯一标识符(ID)。此外,我们使用 source 方法将之前准备的 JSON 字符串和指定的内容类型(XContentType.JSON)添加到请求中。

  3. 执行索引操作: 调用 Elasticsearch 客户端的 index 方法并传递 IndexRequest 对象。这个操作将会把文档发送给 Elasticsearch 集群进行索引。如果索引操作成功,将返回一个 IndexResponse 对象,其中包含了有关索引操作结果的信息,比如索引的文档 ID。

  4. 处理索引响应: 在示例中,我们捕获可能抛出的 IOException 异常,这可能由于网络问题或 Elasticsearch 服务不可用等原因造成。如果索引操作成功,我们通过 IndexResponse 对象获取文档的 ID,并将其打印输出。

这个示例展示了如何利用 Elasticsearch 的 Java 客户端,通过简单的 API 调用,将结构化数据索引到 Elasticsearch 中。这种方式非常适合构建应用程序,将搜索和分析功能集成到应用中,并利用 Elasticsearch 的强大搜索引擎能力来快速检索和分析数据。

查询文档

import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.builder.SearchSourceBuilder;import java.io.IOException;public class ElasticsearchExample {public static void main(String[] args) {// 查询文档示例SearchRequest searchRequest = new SearchRequest("my_index");SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();searchSourceBuilder.query(QueryBuilders.matchQuery("title", "Elasticsearch"));searchRequest.source(searchSourceBuilder);try {SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);System.out.println("搜索到 " + searchResponse.getHits().getTotalHits().value + " 个文档:");searchResponse.getHits().forEach(hit -> {System.out.println("文档 ID: " + hit.getId() + ", 标题: " + hit.getSourceAsMap().get("title"));});} catch (IOException e) {e.printStackTrace();}}
}
总结

这段代码演示了如何使用 Elasticsearch 的 Java 客户端来执行搜索请求并处理搜索结果。以下是关键步骤的解释:

  1. 创建 SearchRequest 对象: 首先,通过 SearchRequest 类创建了一个搜索请求对象 searchRequest,指定了要搜索的索引名称为 "my_index"

  2. 构建查询条件: 使用 SearchSourceBuilder 对象 searchSourceBuilder 构建查询条件。在这个例子中,使用 QueryBuilders.matchQuery("title", "Elasticsearch") 创建了一个匹配查询,用于搜索包含指定标题("Elasticsearch")的文档。

  3. 配置搜索请求: 将构建好的查询条件设置到搜索请求对象中,通过 searchRequest.source(searchSourceBuilder) 方法实现。

  4. 执行搜索请求: 使用 Elasticsearch 客户端执行搜索请求,并通过 client.search(searchRequest, RequestOptions.DEFAULT) 方法发送请求。这里假设 client 是已经初始化好的 Elasticsearch 客户端对象。

  5. 处理搜索响应:try-catch 块中,捕获可能抛出的 IOException 异常,这是因为执行 Elasticsearch 操作时可能会涉及到网络通信。如果搜索操作成功,会得到一个 SearchResponse 对象 searchResponse

    • 使用 searchResponse.getHits().getTotalHits().value 获取搜索到的文档总数,并打印出来。
    • 使用 searchResponse.getHits().forEach(...) 迭代处理每个搜索到的文档结果。
      • hit.getId() 获取文档的 ID。
      • hit.getSourceAsMap().get("title") 获取文档的标题字段。
  6. 异常处理:catch 块中,打印出任何发生的 IOException 异常信息。

这段代码展示了如何利用 Elasticsearch 的 Java 客户端进行简单的文档搜索操作,并处理搜索结果。通过这种方式,可以轻松地集成 Elasticsearch 的搜索功能到 Java 应用程序中,实现快速、灵活的文档检索。

关闭客户端连接

import java.io.IOException;public class ElasticsearchExample {public static void main(String[] args) {// 关闭客户端连接try {client.close();} catch (IOException e) {e.printStackTrace();}}
}
总结

这段代码展示了如何关闭 Elasticsearch 客户端连接。以下是关键点的解释:这行代码导入了 IOException 类,用于处理在关闭客户端连接时可能抛出的异常。

  1. 关闭客户端连接:main 方法中,通过调用 client.close() 方法来关闭 Elasticsearch 客户端连接。这里假设 client 是一个已经初始化和配置好的 Elasticsearch 客户端对象。

  2. 异常处理: 使用 try-catch 块来捕获可能抛出的 IOException 异常。在 catch 块中,通过 e.printStackTrace() 打印异常堆栈信息,以便查看问题所在。

  3. 作用: 关闭 Elasticsearch 客户端连接是一个良好的实践,特别是在应用程序即将退出时或者不再需要连接 Elasticsearch 服务时。关闭连接可以释放资源并确保不会出现连接泄漏或资源浪费。

  4. 注意事项:

    • 确保 client 对象在调用 close() 方法之前已经正确初始化和配置。
    • 处理 IOException 是为了在关闭连接时处理可能出现的网络或IO异常,确保程序能够在异常情况下正常退出或给予适当的反馈。

总结来说,这段代码展示了如何安全地关闭 Elasticsearch 客户端连接,并提供了基本的异常处理以应对可能出现的异常情况。

总结

这些示例展示了如何使用 Java 客户端连接到 Elasticsearch、索引文档以及执行简单的查询操作。您可以根据实际需求和场景进一步扩展这些操作,例如添加更复杂的查询、处理搜索结果等。请确保根据您的具体情况调整代码,包括替换索引名称、文档内容和查询条件。

个人号推广

博客主页

多多!-CSDN博客

Web后端开发

https://blog.csdn.net/qq_30500575/category_12624592.html?spm=1001.2014.3001.5482

Web前端开发

https://blog.csdn.net/qq_30500575/category_12642989.html?spm=1001.2014.3001.5482

数据库开发

https://blog.csdn.net/qq_30500575/category_12651993.html?spm=1001.2014.3001.5482

项目实战

https://blog.csdn.net/qq_30500575/category_12699801.html?spm=1001.2014.3001.5482

算法与数据结构

https://blog.csdn.net/qq_30500575/category_12630954.html?spm=1001.2014.3001.5482

计算机基础

https://blog.csdn.net/qq_30500575/category_12701605.html?spm=1001.2014.3001.5482

回忆录

https://blog.csdn.net/qq_30500575/category_12620276.html?spm=1001.2014.3001.5482

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络编程5----初识http

1.1 请求和响应的格式 http协议和前边学过的传输层、网络层协议不同&#xff0c;它是“一问一答”形式的&#xff0c;所以要分为请求和响应两部分看待&#xff0c;同时&#xff0c;请求和响应的格式是不同的&#xff0c;我们来具体介绍一下。 1.1.1 请求 在介绍请求之前&…

将自己md文件发布到自己的博客园实现文件的持久化存储

上传markdown文件到博客园 目录 【0】需求原因【1】功能【2】环境【最佳实践测试】 &#xff08;1&#xff09;查看 Typora 设置&#xff08;2&#xff09;配置 pycnblog 配置文件 config.yaml&#xff08;3&#xff09;运行 pycnblog 中的文件 cnblog_markdown.cmd&#xff0…

自杀行为的神经生物学认识

自杀行为的神经生物学认识 编译 李升伟 隐藏在自杀行为背后的大脑生化机制正引领人类对自杀的认识从黑暗步入光明。科学家希望未来这些机制能带来更好的治疗和预防策略。 基斯 • 范希林根&#xff08;Cornelis Van Heeringen&#xff09;第一次遇见瓦莱丽&#xff08; Va…

Java用文件流mask文本文件某些特定字段

思路 在Java中&#xff0c;如果你想要掩码&#xff08;mask&#xff09;文本文件中的某些特定字段&#xff0c;你可以按照以下步骤进行&#xff1a; 读取文本文件内容。找到并识别需要掩码的字段。用特定的掩码字符&#xff08;如星号*&#xff09;替换这些字段。将修改后的内…

Leetcode Hot100之双指针

1. 移动零 题目描述 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。解题思路 双指针遍历一遍即可解决: 我们定义了两个指针 i 和 j&#xf…

浏览器(Browser):轻量级浏览器,高效浏览新体验

在可的哥桌面&#xff08;Codigger Desktop&#xff09;&#xff0c;我们始终秉持创新精神&#xff0c;致力于提供卓越的用户体验。如今&#xff0c;我们激动地宣布一项全新功能的发布——轻量级浏览器Browser。这款浏览器的推出&#xff0c;正是我们对用户体验追求的再次体现&…

使用自签名 TLS 将 Dremio 连接到 MinIO

Dremio 是一个开源的分布式分析引擎&#xff0c;为数据探索、转换和协作提供简单的自助服务界面。Dremio 的架构建立在 Apache Arrow&#xff08;一种高性能列式内存格式&#xff09;之上&#xff0c;并利用 Parquet 文件格式实现高效存储。有关 Dremio 的更多信息&#xff0c;…

从艳彩山水到艳彩艺术 薛永年:郭泰来艳彩艺术填补了中国美术史的空白

薛永年先生 自6月12日开展以来&#xff0c;郭泰来现代艺术大展杭州如火如荼地进行着&#xff0c;吸引了众多艺术爱好者和专业人士前往。毫不夸张地说&#xff0c;总统和清洁工人都能在他的作品中找到自己心中的那一块共振带并与之产生强烈的共鸣&#xff0c;这便是郭泰来先生的…

目标跟踪算法(bytetrack)-tensorrt部署教程

一、本机安装python环境 conda create -n bytetrace_env python=3.8 activate bytetrace_env conda install pytorch torchvision cudatoolkit=10.1 -c检测GPU是否可用,不可用不行 import torch print(torch.cuda.is_available())安装bytetrack git clone https://github.c…

0.15元1.5Mhz-1.3A同步整流BUCK降压DCDC芯片MT3410(MT3410LB)

前言 国产同步整流DCDC&#xff0c;参考价格约0.15元。 特征 高效率&#xff1a;高达 96% 1.5MHz恒定频率操作 1.3A 输出电流 无需肖特基二极管 2.3V至7V输入电压范围 输出电压低至 0.6V PFM 模式可在轻负载下实现高效率 压差操作中的100%占空比 低静态电流&#xff1a;35μ…

网络爬虫设置代理服务器

目录 1&#xff0e;获取代理 IP 2&#xff0e;设置代理 IP 3. 检测代理 IP 的有效性 4. 处理异常 如果希望在网络爬虫程序中使用代理服务器&#xff0c;就需要为网络爬虫程序设置代理服务器。 设置代理服务器一般分为获取代理 IP 、设置代理 IP 两步。接下来&#xff0c;分…

【数据库备份完整版】物理备份、逻辑备份,mysqldump、mysqlbinlog的备份方法

【数据库备份完整版】物理备份、逻辑备份&#xff0c;mysqldump、mysqlbinlog的备份方法 一、物理备份二、逻辑备份1.mysqldump和binlog备份的方式&#xff1a;2.mysqldump完整备份与恢复数据2.1 mysqldump概念2.2 mysqldump备份2.3 数据恢复2.4 **使用 Cron 自动执行备份**2.5…

机器学习:人工智能的子领域之一

引言 人工智能&#xff08;AI&#xff09;已经成为现代科技的重要组成部分&#xff0c;推动了许多领域的创新与进步。在人工智能的诸多子领域中&#xff0c;机器学习&#xff08;ML&#xff09;无疑是最关键和最具影响力的一个。机器学习通过自动分析和学习数据中的模式&#x…

机器学习算法的电影推荐系统以及票房预测系统

一、实验概述 1. 实验目标 本项目希望基于电影数据集&#xff0c;依据电影的简介、关键词、预算、票房、用户评分等特征来对电影进行分析&#xff0c;并完成以下任务&#xff1a; 对电影特征的可视化分析对电影票房的预测多功能个性化的电影推荐算法 2. 数据集 针对票房预…

湖南科技大学24计算机考研情况,软工学硕考数二,分数线290分,录取均分321分!

湖南科技大学&#xff08;Hunan University of Science and Technology&#xff09;坐落在伟人故里、人文圣地湘潭&#xff0c;处于长株潭核心区域&#xff0c;比邻湘潭九华经济技术开发区&#xff08;国家级&#xff09;&#xff0c;是应急管理部、国家国防科技工业局与湖南省…

自监督分类网络:创新的端到端学习方法

现代人工智能的快速发展中&#xff0c;分类任务的高效解决方案一直备受关注。今天&#xff0c;我们向大家介绍一种名为Self-Classifier的全新自监督端到端分类学习方法。由Elad Amrani、Leonid Karlinsky和Alex Bronstein团队开发&#xff0c;Self-Classifier通过优化同一样本的…

探索C嘎嘎的奇妙世界:第十六关---STL(vector的练习)

1.只出现一次的数字 我们可以使用异或运算来解决这个问题&#xff1a; 异或运算有一个重要的性质&#xff1a;两个相同的数进行异或运算结果为 0&#xff0c;任何数与 0 异或结果为其本身。对于数组中的元素&#xff0c;依次进行异或运算&#xff0c;出现两次的元素异…

智谱API调用

一、智谱API 文心一言api 千帆大模型平台 申请和使用 智谱AI开放平台 登录智谱AI开放平台&#xff0c;点击右上角的开发者工作台&#xff0c;然后查看自己的API glm-4 接口 conda create -n zhipuai python3.10 -y 二、如何使用 这边的介绍是根据官方文档的接口文档来进行介绍…

postman 工具下载安装使用教程_postman安装

本文讲解的是postman工具下载、Postman安装步骤、postman下载、postman安装教程。Postman是一款流行的API测试工具&#xff0c;它提供了一个用户友好的界面&#xff0c;用于发送和测试API请求&#xff0c;并且可以轻松地按需管理和组织请求。 这使得开发人员和测试人员能够更高…

MATLAB神经网络---lstmLayer(LSTM 长短期记忆神经网络)

前言 描述LSTM就要先描述一下循环神经网络 循环神经网络 循环神经网络通过使用带自反馈的神经元&#xff0c;使得网络的输出不仅和当前的输入有关&#xff0c;还和上一时刻的输出相关&#xff0c;于是在处理任意长度的时序数据时&#xff0c;就具有短期记忆能力。 如下是一个…