- 博客(232)
- 资源 (3)
- 收藏
- 关注
原创 解决 Elasticsearch 写操作磁盘空间问题——cluster_block_exception
在运行 Elasticsearch 集群遇到磁盘空间不足的情况时,Elasticsearch 会采取保护措施以防止数据丢失。错误,特别是当错误消息表明索引被设置为只读模式时。
2024-08-14 10:31:31
592
原创 解决 Nginx 413 Request Entity Too Large 错误
当在使用 Nginx 服务器时,上传文件或提交大量数据时可能会遇到 “413 Request Entity Too Large” 错误。这个错误通常是因为请求体大小超出了服务器的限制。要解决这个问题,可以通过调整 Nginx 的配置文件来增加允许的请求体大小限制。
2024-07-29 09:26:27
868
原创 ES的基本组成和es的优势以及搜索写入原理
本文依照倒叙的方式介绍什么是elasticsearch,包含es的基本组成和es的优势以及写入搜索的流程首先引入一个问题,如何从三段文本中快速找到包含关键词’caixukun’的记录?最直接的思路就是遍历所有的文本记录,然后判断是否包含关键词,最后返回文本的id如果记录的条数有上亿条呢?或者十亿?百亿?继续采用最初的思路全部遍历,先不说速度与乌龟相比如何,有没考虑过计算机的感受?cpu呢?内存呢?磁盘io?
2024-07-22 08:00:00
1057
原创 Linux安装nvm并使用安装node
NVM(Node Version Manager)是一个用于管理 Node.js 版本的工具,可以在同一台计算机上安装和切换不同版本的 Node.js。
2024-07-19 15:55:40
506
原创 低危漏洞修复——点击劫持X-Frame-Options响应头缺失
X-Frame-Options响应头缺失,导致攻击者使用一个或多个透明的iframe覆盖在正常网页上,诱使用户在网页上进行操作,当用户在不知情的情况下点击透明的iframe页面时,用户的操作已被劫持到攻击者事先设计的恶意按钮或链接上。
2024-07-11 16:00:34
728
原创 Elasticsearch中的match_phrase_prefix、prefix和wildcard查询详解
适用于需要匹配特定前缀的短语且对查询精度要求较高的场景。例如,搜索以“O”开头的完整短语。prefix:适用于简单的前缀匹配,数据量较大且对性能要求较高的场景。例如,快速筛选以“O”开头的条目。wildcard:适用于需要复杂匹配模式的场景,但应谨慎使用以避免性能问题。例如,需要匹配“O*”模式的多样化查询。
2024-06-27 10:50:16
959
2
原创 ES报错:解决too_many_clauses: maxClauseCount is set to 1024 报错问题
以及其他的查询生成的子句数量超过了Elasticsearch的默认限制(尝试减少子句数量,优化子句的查询数量,使得能减少到1024的个数限制。如果确实需要大量的子句,可以增加Elasticsearch中的。如果前两种方法不可行,考虑使用性能更好的查询类型,比如。查询精确,但它性能更好,并且不会产生过多的子句。查询语句:查询clcNo分类号包含分类。可能扩展为大量词条的查询中超过了限制。我这里的错误是由于使用。这里是一个优化后的查询示例,将。从报错信息来看,查询出现了。错误,这是因为使用的。
2024-06-27 10:40:16
842
原创 在 IntelliJ IDEA 中使用 Java 和 Selenium 模拟 Chrome 浏览器教程
Selenium 是一个流行的自动化测试工具,支持多种浏览器平台。它的灵活性和丰富的功能使其非常适合测试各种类型的网页应用。虽然关于 Selenium 和 Java 的资料较少且分散,但 Java 爬虫其实非常方便,只要多看源码就能掌握。环境准备:配置 Java 开发环境、下载并安装 ChromeDriver、设置 Chrome 浏览器和 ChromeDriver 版本一致、禁用 Chrome 自动更新
2024-06-23 12:04:59
1418
原创 使用MyBatis的动态SQL注解实现实体的CRUD操作
在使用MyBatis进行数据库操作时,动态SQL注解提供了一种优雅的方式来编写动态SQL语句。MyBatis 3.x 版本提供了以下四个CRUD的高级注解:@SelectProvider:用于构建动态查询SQL@InsertProvider:用于构建动态新增SQL@UpdateProvider:用于构建动态更新SQL。@DeleteProvider:用于构建动态删除SQL。此外,我们将与MyBatis Plus中的`@Select`注解进行对比,展示MyBatis动态SQL注解的优势和灵活性。
2024-06-21 17:23:18
2044
5
原创 ES全文检索支持繁简和IK分词检索
本教程旨在展示如何在ES中引入繁简转换和IK分词插件,使得在检索时无论输入简体还是繁体都能够被检索到。无论用户输入“語法”还是“语法”,检索结果中都能命中包含简体和繁体的相关文档。这种处理方式不仅提升了用户体验,还增强了检索的准确性和全面性。
2024-06-21 15:05:54
2710
4
原创 最新版本IntelliJ IDEA安装与“坤活”使用
选择适合操作系统的版本(Windows、macOS 或 Linux)在页面中找到需要的版本(Ultimate 或 Community)点击下载按钮,开始下载安装包,然后解压安装或者选择红框的免安装版本。
2024-06-19 17:27:37
632
1
原创 Windows安装配置jdk和maven
tm的远程连接不上公司电脑,只能在家重新配置一遍,在此记录一下后端环境配置。本文主要介绍jdk安装配置,maven安装配置
2024-06-19 17:19:08
962
原创 SpringBoot 大文件基于md5实现分片上传、断点续传、秒传
这篇文章介绍了在 SpringBoot 中实现大文件分片上传、断点续传和秒传的方法。分片上传通过将大文件分成多个小块,提高上传可靠性和效率;断点续传允许在上传失败后从断点处继续上传;秒传则通过文件哈希值判断文件是否已存在,避免重复上传。文章详细描述了前端使用 WebUploader 实现分片上传,后端保存分片文件并在全部上传完成后合并的步骤,同时提供了可运行的前后端源码。
2024-06-14 10:07:54
1054
2
原创 处理导入Excel文件过大导致Zip bomb detected的问题
此错误提示文件大小超过了压缩文件大小与解压后数据大小之比的最大限制,为了处理这一问题,可以在方法体的顶部添加一行代码来调整这一限制。调整垃圾回收器的设置,以提高内存管理的效率,例如,可以使用G1垃圾回收器。和增加堆内存大小外,还有一些优化策略可以帮助处理大文件。
2024-06-14 10:00:35
1093
原创 前端实现获取后端返回的文件流并下载
在前端开发中,有时需要从后端获取文件流,并将其下载到本地。本文介绍如何在前端实现此功能的不同的实现方法,并分析其优缺点。
2024-06-13 10:06:49
1913
原创 Springboot使用webupload大文件分片上传(包含前后端源码)
springboot、vue、webupload、mysql等在项目开发中需要上传一个非常大的文件时,单次上传整个文件往往会遇到网络不稳定、带宽限制、上传失败等问题。为了解决这些问题,文件分片上传(也称为断点续传)应运而生。分片上传的核心思想是将一个大文件分成若干份大小相等的多个小块数据块(我们称之为 Part),等所有小块文件上传成功后,再将文件进行合并成完整的原始文件。断点续传:在网络中断或其他错误导致上传失败时,只需重新上传失败的部分,而不必从头开始上传整个文件,从而提高上传的可靠性和效率。
2024-06-09 16:16:23
1337
原创 Vue如何引入ElementUI并使用
Element UI是一个基于Vue 2.0的桌面端组件库,旨在构建简洁、快速的用户界面。由饿了么前端团队开发,提供丰富的组件和工具,帮助开发者快速构建高质量的Vue应用,并且以开放源代码的形式提供。
2024-06-09 16:05:49
861
原创 如何移动 hiberfil.sys 文件来减少C盘空间
文件是 Windows 系统在开启休眠功能后自动生成的内存镜像文件。这个文件保存了系统休眠时的内存内容,以便我们唤醒电脑之后可以快速恢复到休眠前的状态。如果你想节省 C 盘的空间,可以将它移动到其他分区,例如 D 盘或 E 盘的指定目录。重启电脑后,设置会生效,可以看到 C 盘的空间被腾出,休眠文件被转移到了 E 盘的指定目录。通过以上方法可以有效管理 Windows 的休眠文件,提高系统的性能和稳定性。:如果不需要休眠功能,可以通过命令行关闭休眠功能,从而删除。等类似的目录,也需要将其中的。
2024-06-07 16:30:31
2514
原创 解决Windows Hosts 文件因为权限无法修改的问题
在日常工作中,可能需要修改 Windows 的 hosts 文件,以将特定的域名映射到指定的 IP 地址。本文介绍三种方法来完成这一任务:直接手动编辑 hosts 文件,使用批处理文件自动完成任务,以及使用第三方工具 hm.exe 进行修改。
2024-06-07 12:02:39
4350
原创 ES问题解决:startOffset must be non-negative, and endOffset must be >= startOffset, and offsets must not
增加特殊字符过滤器,在字段设置的analyzer中引入此字符过滤器即可解决。
2024-05-06 14:34:03
474
原创 从零开始搭建一个vue项目
本文主要介绍如何快速创建一个vue项目,包含安装所需的环境,如node.js和vue-cli等。并且包含如何将运行环境在编译器中的运行等
2024-05-03 10:57:16
1656
原创 ES全文检索支持IK分词和拼音检索
介绍了在 Elasticsearch 中实现全文检索支持拼音和繁简检索的步骤。首先,介绍了如何引入 pinyin 插件和 ik 分词器插件,包括编译和安装的过程。然后,讲解了建立索引的步骤,包括设置文件和字段映射文件的配置。接着,提供了测试检索的方法和结果展示,包括中文简体、繁体查询以及拼音全拼和简拼查询。最后,还介绍了繁简转换功能的配置。整篇文档详细说明了每个步骤的操作,为实现全文检索功能提供了指导。
2024-04-29 17:56:28
4305
2
原创 解决问题:Docker证书到期(Error grabbing logs: rpc error: code = Unknown)导致无法查看日志
在swam节点执行下面命令即可:docker swarm ca --rotate
2024-04-29 11:08:11
800
1
原创 使用nssm把批处理(.bat)文件设置为Windows 服务
这篇文章介绍了如何使用 nssm 工具将批处理(.bat)文件设置为 Windows 服务。首先需要下载并安装 nssm,然后使用 nssm 安装服务并进行适当的配置,最后可以启动服务,使得批处理文件能够在系统启动时自动运行。本文以canal为例
2024-04-27 12:36:58
863
原创 问题解决:Caused by: org.xml.sax.SAXParseException: 文档根元素 “service“ 必须匹配 DOCTYPE 根 “null“。
你个憨熊是不是建立也建立了一个application.xml的文件?改名就好了
2024-04-26 17:23:47
359
1
原创 Elasticsearch进阶篇(三):ik分词器的使用与项目应用
本文详细介绍了在Elasticsearch中安装、配置和使用IK分词器的过程。首先,它提供了两种安装方式:使用已编译的包文件或者源代码编译。然后,说明了如何将分词器安装到Elasticsearch中,并启动Elasticsearch来验证安装是否成功。接下来,介绍了IK分词器提供的两种主要分词模式:细粒度分词模式(ik_max_word)和智能分词模式(ik_smart),并展示了它们的使用示例。最后,它详细解释了IK分词器的配置文件作用,包括主要的配置文件和自定义词库的使用方法,并提供了相关的参考链接
2024-04-21 20:01:31
4060
2
原创 Java使用aspose-words实现word文档转pdf
相比较与使用openoffice需要安装并且需要引入多个jar文件,使用aspose只需要一个jar文件即可,而且转换之后排版不混乱
2024-04-10 17:19:34
2054
5
原创 Java使用OpenOffice将office文件转换为PDF
OpenOffice: OpenOffice是一套跨平台的办公室软件套件,功能非常强大,适用windows、linux、mac等各大平台,简单来说Office能做到的OpenOffice也基本都能做到。JODConverter: 是一个Java的OpenDocument文件转换器,可以进行许多文件格式的转换。它依赖于OpenOffice.org或者LibreOffice提供的服务来进行转换,它能将Microsoft Office文档(Word,Excel,PowerPoint)转换为PDF格式。
2024-04-10 16:45:10
2743
1
原创 MySQL 8.x 高可用集群之MGR(组复制)
以上文档概述了 MySQL 集群部署的过程,包括修改主机名、关闭 SELinux、安装 MySQL、移除系统自带的 MariaDB、下载安装文件、启动 MySQL 并修改密码、开启防火墙端口、修改 MySQL 配置文件、创建复制账号、安装 MGR 插件等步骤。接着介绍了在单主模式下启动 MGR 集群,包括执行 MySQL 操作、验证主从数据同步和读写操作、测试主从数据库宕机等步骤。然后讲解了如何整合 MySQL Router 实现读写分离,包括安装和配置 MySQL Router等
2024-03-26 10:49:28
1872
原创 canal问题记录:something goes wrong when doing authentication: auth failed for user:
部署了1.15服务端 canal.deployer-1.1.5 用于监听mysql的binlog日志,同时在项目中集成了canal client,用于在监听到指定数据表变化时自定义写入es。服务端配置:客户端配置:报错信息如下:问题分析这个错误表明在 Canal 客户端的身份验证过程中发生了问题,导致用户 “test” 的身份验证失败,从而无法连接到 Canal 服务器。但是服务端和客户端的账户密码是一致的,不应该会有此问题。下载源码进行debug,可以看到传入的参数是进行过加密的,并且把服务端的
2024-03-18 14:28:01
415
原创 Elasticsearch进阶篇(二):Elasticsearch查询原理
本文档深入探讨了Elasticsearch的查询原理,包括单个ID查询文档和多个ID查询文档的流程。在搜索查询方面,通过两阶段查询,首先在各个分片拷贝中搜索匹配的文档标识符,然后在协调节点合并结果并获取完整文档。此外,全文检索的执行流程也得到了详细解释,从分析器处理查询词到构建查询语法树、匹配文档、评分和排序等步骤,分析其复杂的工作流程。
2024-03-16 18:23:37
1154
原创 Elasticsearch进阶篇(一):Elasticsearch写入原理深入详解
本篇详细介绍了 Elasticsearch 的写入原理。首先,解释了 Elasticsearch 中索引、分片和分段的概念,并通过图示展示了它们之间的关系。然后,深入探讨了写入操作的过程,包括 refresh、flush 和 commit 操作的含义和执行流程。最后,通过步骤拆解,描述了数据写入的整体流程,包括负载均衡、数据写入主分片、副本复制等步骤。整体内容详实清晰,有助于理解 Elasticsearch 的写入机制
2024-03-12 15:00:46
2067
原创 SpringBoot+PDF.js实现按需分片加载预览(包含可运行示例源码)
本文的解决方案旨在解决大体积PDF在线浏览加载缓慢、影响用户体验的难题。通过利用分片加载技术,前端请求时附带range及读取大小信息,后端据此返回相应的PDF文件流。这种方式有效地减轻了服务器和浏览器的负担,提升了加载速度和用户体验。同时解决了首次加载全部分片导致浏览器内存不足的问题。技术栈:Spring Boot、Vue和pdf.js。
2024-02-24 14:18:46
2980
21
原创 mysql启动报错:本地计算机上的 MySQL8服务启动后停止 [InnoDB] Upgrade is not supported after a crash or shutdown
windows服务器蓝屏重启后启动mysql报错:本地计算机上的 MySQL8服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止,日志信息如下```2024-02-21T02:17:46.975546Z 1 [ERROR] [MY-012526] [InnoDB] Upgrade is not supported after a crash or shutdown with innodb_fast_shutdown = 2. This redo log was created with MyS
2024-02-21 11:01:20
1418
原创 解决:Java 8 date/time type `java.time.LocalDate` not supported by default
报错原因是在序列化对象时涉及到 Java 8 的日期/时间类型 java.time.LocalDate,但默认情况下 Jackson 不支持这种类型。要解决这个问题,可以添加 Jackson 模块 “com.fasterxml.jackson.datatype:jackson-datatype-jsr310”,以启用对 Java 8 日期/时间类型的支持。在 Maven 项目中pom.xml 文件中添加以下依赖。
2024-01-24 09:39:48
2595
原创 Elasticsearch基础篇(八):常用查询以及使用Java Api Client进行检索
该指南详细介绍了用户检索需求和测试环境搭建。从建立 Elasticsearch 字段、索引和映射,到执行查询操作,覆盖了主键查询、全量查询、分页查询、排序查询、全文检索等多种操作。最后,指南展示了如何在 Spring 项目中集成 Elasticsearch,包括创建项目、引入依赖、配置客户端类,并使用 Java API Client 进行索引创建、文档保存和检索。这一全面指南旨在协助读者更深入理解 Elasticsearch,并在 Spring 项目中高效应用查询和索引功能。
2024-01-22 14:38:04
2348
1
原创 Apache JMeter 5.6.3压力测试步骤详解
执行测试执行测试任务,并查看结果,包括聚合报告等性能指标。非GUI模式测试通过命令行进行非GUI模式测试,生成测试报告。使用CSV对于一个接口测试不同参数使用CSV数据文件设置元件,通过不同的参数进行接口测试,例如不同账号登录、不同ID调用接口等。提供了Apache JMeter的安装步骤、性能测试指标解释以及详细的测试任务创建和执行步骤。
2024-01-17 17:23:39
3283
原创 Apache JMeter 3.1压力测试监控服务器数据(cpu、内存、磁盘io等)
下载完成后解压客户端的两个文件,进入路径JMeterPlugins-Extras\lib\ext,JMeterPlugins-Standard\lib\ext,复制JmeterPlugins-Extras.jar,JmeterPlugins-Standard.jar两个文件,放到JMeter客户端的${jmeter-home}\lib\ext下面。**输出文件夹的路径:**手动创建存放报错的文件夹的路径,需要提前创建,每次运行前必须清空,否则会报错。**测试JMX文件:**测试用的.jmx文件路径。
2024-01-17 17:19:16
3351
原创 Elasticsearch基础篇(七):分片大小修改和路由分配规则
这样设计可以提高系统的可用性和容错性,因为数据的多个副本分布在不同的节点上,即使某个节点发生故障,系统仍然可以继续工作。副本分片是主分片的完整复制,位于不同的节点上。主分片的数量是索引创建时固定的,因为这个值与数据的分布和索引结构有关。每个索引都被划分成若干个主分片,每个主分片都是一个独立的索引。往索引中增加100条数据,文档分布如下:三个主分片的文档数量正好为100,随着文档数量的增加,三个主分片的数量会越来越均衡。在完成重新索引后,将应用中的写操作切换到新的索引,确保新数据写入新的索引。
2024-01-12 10:34:49
3885
5
原创 Python使用SQLAlchemy操作sqlite
Python使用SQLAlchemy操作sqlite:sqllite的介绍和常用的sql语句,python使用SQLAlchemy集成sqlite
2023-11-12 17:14:43
2497
2
Elasticsearch实现检索词自动补全(检索词补全,自动纠错,拼音补全,繁简转换) 包含demo
2023-10-15
Python 进阶(三):Python使用ORM框架SQLAlchemy操作Oracle数据库
2023-06-24
Springboot使用pdfbox提取PDF图片
2023-06-17
Springboot实现pdf的分片加载功能
2023-06-11
springboot集成canal-adapter实现项目中对于数据库数据监听和自定义消费
2023-06-11
canal1.1.5版本,包含服务端、客户端、源码
2023-06-11
kibana的快照需要在es配置文件添加什么
2023-04-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人