<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[没有简介]]></title><description><![CDATA[没有描述]]></description><link>https://blog.youkuaiyun.com/wang92424</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wang92424]]></copyright><item><title><![CDATA[基于RAG的搜索增强]]></title><link>https://blog.youkuaiyun.com/wang92424/article/details/150271142</link><guid>https://blog.youkuaiyun.com/wang92424/article/details/150271142</guid><author>wang92424</author><pubDate>Tue, 12 Aug 2025 14:51:17 +0800</pubDate><description><![CDATA[RAG技术：搜索领域的革新突破 摘要：检索增强生成（RAG）技术通过结合信息检索与文本生成，显著提升了搜索引擎的精准度和丰富性。该系统由检索器和生成器组成：检索器采用多种向量化方法（如BERT、Word2Vec）将文档转换为向量表示，并利用相似度算法（余弦相似度等）快速检索相关信息；生成器则整合检索结果生成精准连贯的回答。RAG技术优势在于提升复杂查询的准确性、提供多源整合的全面答案，并能实时更新检索最新信息。这一创新为搜索领域带来了突破性进展，有效解决了传统搜索精准度不足和结果单一的问题。]]></description><category></category></item><item><title><![CDATA[doris `unicode` 多语言混合类型分词与elasticsearch分词差异]]></title><link>https://blog.youkuaiyun.com/wang92424/article/details/149910332</link><guid>https://blog.youkuaiyun.com/wang92424/article/details/149910332</guid><author>wang92424</author><pubDate>Mon, 04 Aug 2025 17:06:20 +0800</pubDate><description><![CDATA[Doris的Unicode分词器采用字符级切分，支持多语言混合文本处理，具有轻量级、无需配置等优势，但缺乏语义分词和高级功能。Elasticsearch提供丰富的分词器和语义支持，适合复杂搜索场景，但配置复杂且资源消耗较大。两者对比：Doris更适合简单多语言场景，而Elasticsearch在语义分词和高级功能方面表现更优。选择时需根据具体需求权衡处理精度、性能和维护成本。]]></description><category></category></item><item><title><![CDATA[消息存储数据库选型调研]]></title><link>https://blog.youkuaiyun.com/wang92424/article/details/149910248</link><guid>https://blog.youkuaiyun.com/wang92424/article/details/149910248</guid><author>wang92424</author><pubDate>Mon, 04 Aug 2025 17:03:30 +0800</pubDate><description><![CDATA[消息系统存储方案比较分析显示：MySQL+Doris组合方案最优。MySQL存储配置类数据，Doris处理亿级消息存储，二者互补性强，在查询性能(亚秒级响应)、写入性能(百万级/秒)、扩展性和事务支持等方面表现均衡。相比MySQL+ES方案(需分库分表)或纯Kafka方案(查询功能弱)，该组合既能满足高并发场景，又为未来数据分析预留扩展空间，实施风险较小，是消息中心建设的理想选择。]]></description><category></category></item><item><title><![CDATA[IM消息数据库调研]]></title><link>https://blog.youkuaiyun.com/wang92424/article/details/149910175</link><guid>https://blog.youkuaiyun.com/wang92424/article/details/149910175</guid><author>wang92424</author><pubDate>Mon, 04 Aug 2025 17:00:53 +0800</pubDate><description><![CDATA[IM系统核心是消息同步与存储，分别实现消息实时传递和云端持久化。消息同步需支持在线/离线推送及多端同步，强调实时性与规模；消息存储实现漫游功能，支持全量历史消息查询。数据库需满足Timeline模型，要求高并发写入(万级TPS)、范围读取、海量存储(TB级)及生命周期管理。对比主流数据库后，初期采用MySQL，后期考虑迁移至TiDB、Cassandra或InfluxDB。ToC系统要求更高(十万TPS/PB级)，ToB可适当降低标准。排除了OLAP和搜索型数据库，重点评估时序型和分布式数据库的适用性。]]></description><category></category></item><item><title><![CDATA[Web端即时通讯技术盘点：短轮询、Comet、Websocket、SSE]]></title><link>https://blog.youkuaiyun.com/wang92424/article/details/149910103</link><guid>https://blog.youkuaiyun.com/wang92424/article/details/149910103</guid><author>wang92424</author><pubDate>Mon, 04 Aug 2025 16:59:22 +0800</pubDate><description><![CDATA[本文介绍了四种主流的Web端即时通讯技术：Ajax短轮询、Comet、WebSocket和SSE。Ajax通过异步请求实现数据交互，但无法满足实时性要求；Comet采用长连接&quot;服务器推&quot;技术，包括长轮询和流方式两种实现；WebSocket作为HTML5标准，提供真正全双工通信；SSE则专注于服务端向客户端的单向推送。文章分析了各项技术的原理、优缺点及适用场景，指出WebSocket和SSE代表未来方向，但当前浏览器兼容性仍是挑战。特别比较了WebSocket和SSE在实现复杂度、协议类型]]></description><category></category></item><item><title><![CDATA[IM系统调研]]></title><link>https://blog.youkuaiyun.com/wang92424/article/details/149909949</link><guid>https://blog.youkuaiyun.com/wang92424/article/details/149909949</guid><author>wang92424</author><pubDate>Mon, 04 Aug 2025 16:56:47 +0800</pubDate><description><![CDATA[IM系统是集网络编程、移动开发、后端技术于一体的复杂系统，具有实时性、可靠性、一致性、安全性四大特点。其应用场景已从传统社交扩展到直播、物联网、在线教育等领域。典型架构包含客户端、接入层、逻辑层、存储层和第三方服务，其中接入层负责连接管理、协议解析等核心功能。主要功能模块包括联系人列表、聊天界面、消息收发通道、消息存储和未读数管理，每个模块都需要考虑网络异常、数据同步等问题。随着互联网发展，IM技术已成为各类应用实现实时交互的基础能力。]]></description><category></category></item><item><title><![CDATA[elasticsearch线程池配置]]></title><link>https://blog.youkuaiyun.com/wang92424/article/details/145186450</link><guid>https://blog.youkuaiyun.com/wang92424/article/details/145186450</guid><author>wang92424</author><pubDate>Thu, 16 Jan 2025 16:33:03 +0800</pubDate><description><![CDATA[最小线程数为1，最大线程数根据节点的堆内存大小和处理器数量动态调整，以优化快照操作的性能。最小线程数为1，最大线程数为5，确保管理任务能够及时响应，同时避免对系统资源造成过大压力。线程数根据处理器数量的1/8计算，确保合并操作能够并行执行，但不会占用过多资源。最小线程数为1，最大线程数根据处理器数量动态调整，确保元数据操作能够高效执行。最小线程数为1，最大线程数根据处理器数量动态调整，确保刷新操作能够及时完成。最小线程数为1，最大线程数根据处理器数量动态调整，以优化缓存预热的性能。]]></description><category></category></item><item><title><![CDATA[Doris BE 内存配置记录]]></title><link>https://blog.youkuaiyun.com/wang92424/article/details/145119147</link><guid>https://blog.youkuaiyun.com/wang92424/article/details/145119147</guid><author>wang92424</author><pubDate>Mon, 13 Jan 2025 16:48:06 +0800</pubDate><description><![CDATA[【代码】Doris BE 内存配置记录。]]></description><category></category></item><item><title><![CDATA[skywalking es查询整理]]></title><link>https://blog.youkuaiyun.com/wang92424/article/details/143977276</link><guid>https://blog.youkuaiyun.com/wang92424/article/details/143977276</guid><author>wang92424</author><pubDate>Fri, 22 Nov 2024 16:37:38 +0800</pubDate><description><![CDATA[这个索引用于存储所有的采样记录，包括但不限于慢SQL查询、Agent分析得到的数据等。这些记录数据包括Traces、Logs、TopN采样语句和告警信息。它们被用于性能分析和故障排查，帮助开发者和运维团队理解服务的行为和性能特点。]]></description><category></category></item><item><title><![CDATA[skywalking各项指标说明]]></title><link>https://blog.youkuaiyun.com/wang92424/article/details/143747142</link><guid>https://blog.youkuaiyun.com/wang92424/article/details/143747142</guid><author>wang92424</author><pubDate>Wed, 13 Nov 2024 16:56:09 +0800</pubDate><description><![CDATA[skywalking各项指标说明]]></description><category></category></item><item><title><![CDATA[gradle统一版本管理]]></title><link>https://blog.youkuaiyun.com/wang92424/article/details/143329989</link><guid>https://blog.youkuaiyun.com/wang92424/article/details/143329989</guid><author>wang92424</author><pubDate>Tue, 29 Oct 2024 15:11:23 +0800</pubDate><description><![CDATA[这样做的好处是，当需要更新或者切换到其他版本的库时，只需要在。文件中更改对应的版本号，所有模块的依赖都会自动更新。在Gradle中，可以通过创建一个名为。1、在项目根目录下创建一个。文件中应用这个脚本。]]></description><category></category></item><item><title><![CDATA[JdkClientHttpConnector]]></title><link>https://blog.youkuaiyun.com/wang92424/article/details/143128754</link><guid>https://blog.youkuaiyun.com/wang92424/article/details/143128754</guid><author>wang92424</author><pubDate>Mon, 21 Oct 2024 20:08:01 +0800</pubDate><description><![CDATA[Spring Framework 6.0 版本中引入的一个组件，它提供了一个自动装配的功能，允许在没有 Netty Reactor、Jetty reactive client 和 Apache HTTP client 的情况下，使用。此外，它的 HTTP 连接池不支持手动配置，默认是无限复用的，重试次数也不支持手动配置。连接到原始服务器，并在底层 API 的 HTTP 请求可以初始化并写入时应用给定的。在实际使用中，如果没有指定 HTTP 客户端或请求的版本，，并使用它来发送GET请求并获取响应。]]></description><category></category></item><item><title><![CDATA[Spring Boot 2.7=＞3.0 升级整理]]></title><link>https://blog.youkuaiyun.com/wang92424/article/details/143128083</link><guid>https://blog.youkuaiyun.com/wang92424/article/details/143128083</guid><author>wang92424</author><pubDate>Mon, 21 Oct 2024 19:59:16 +0800</pubDate><description><![CDATA[它提供了一个与平台无关的 API，可以用来度量各种应用指标，如 CPU 使用率、内存使用量、请求计数、请求延迟等，并将这些指标数据发送到多种监控系统，如 Prometheus、Graphite、Datadog、InfluxDB、Wavefront 等。Spring Boot 3.0 引入了对 GraalVM 原生镜像的官方支持，这是一项重大的改进，它允许将 Spring Boot 应用程序转换为 GraalVM 原生镜像，从而提供显著的内存和启动性能改进。在 Log4j2 初始化之后加载的所有。]]></description><category></category></item><item><title><![CDATA[docker-compose安装]]></title><link>https://blog.youkuaiyun.com/wang92424/article/details/143026693</link><guid>https://blog.youkuaiyun.com/wang92424/article/details/143026693</guid><author>wang92424</author><pubDate>Thu, 17 Oct 2024 19:41:14 +0800</pubDate><description><![CDATA[如果 Docker Compose 已安装，但系统找不到命令，可能是因为它不在 PATH 环境变量中。如果你在安装 Docker Compose 或修改 PATH 后没有重新打开终端，需要重新打开一个终端窗口。如果你不需要 Docker Compose 的全部功能，可以考虑使用 Docker 的原生。命令来检查 PATH 变量，并确保 Docker Compose 的安装路径被包含在内。命令，这是 Docker 20.10 及更高版本中的一个实验性特性。在某些情况下，可能存在链接问题或别名设置错误。]]></description><category></category></item><item><title><![CDATA[Spring Boot 2.6=＞2.7 升级整理]]></title><link>https://blog.youkuaiyun.com/wang92424/article/details/143026460</link><guid>https://blog.youkuaiyun.com/wang92424/article/details/143026460</guid><author>wang92424</author><pubDate>Thu, 17 Oct 2024 19:27:39 +0800</pubDate><description><![CDATA[在 Spring Boot 2.7 及更高版本中，对  的属性源优先级进行了调整，使得通过命令行传递的属性（）现在具有比通过  或  注解指定的属性更高的优先级。这意味着，如果存在同名的属性，命令行属性将覆盖通过注解指定的属性。示例：


如果在运行测试时，通过命令行指定了 ，则  测试方法中的断言将通过，因为命令行属性  将覆盖  注解中指定的属性。这个变化使得测试环境更加灵活，允许开发者在不修改测试代码的情况下，通过命令行参数来覆盖测试环境中的配置属性。这对于需要根据不同环境（如不同的 CI/CD 阶段]]></description><category></category></item><item><title><![CDATA[Mongodb 获取集合（collection）的统计信息]]></title><link>https://blog.youkuaiyun.com/wang92424/article/details/142957082</link><guid>https://blog.youkuaiyun.com/wang92424/article/details/142957082</guid><author>wang92424</author><pubDate>Tue, 15 Oct 2024 16:12:44 +0800</pubDate><description><![CDATA[在MongoDB中，获取指定集合（collection）的统计信息可以通过执行collStats命令来实现。]]></description><category></category></item><item><title><![CDATA[Mongo开启执行splitVector命令]]></title><link>https://blog.youkuaiyun.com/wang92424/article/details/142924942</link><guid>https://blog.youkuaiyun.com/wang92424/article/details/142924942</guid><author>wang92424</author><pubDate>Mon, 14 Oct 2024 19:04:33 +0800</pubDate><description><![CDATA[splitVector命令是MongoDB中的一个内部命令，它用于支持分片集群中的元数据操作。这个命令并不是特定于MongoDB企业版的功能，它在MongoDB的不同版本中都有提供，包括社区版和企业版。该命令的使用在官方文档中没有详细介绍，但它是一个有效的工具，可以用来优化数据迁移和并发操作。例如，它可以在数据迁移过程中，通过并发的方式对数据进行全量迁移，提高迁移效率。命令的权限，你需要创建一个自定义角色，并将相应的权限添加到这个角色中，然后将这个角色赋予给用户。]]></description><category></category></item><item><title><![CDATA[JDK17~JDK21值得关注的更新整理]]></title><link>https://blog.youkuaiyun.com/wang92424/article/details/142852686</link><guid>https://blog.youkuaiyun.com/wang92424/article/details/142852686</guid><author>wang92424</author><pubDate>Fri, 11 Oct 2024 14:14:50 +0800</pubDate><description><![CDATA[这是 JDK 21 中的一个关键特性，旨在通过提供轻量级的线程实现来改善 Java 应用程序的并发性能。虚拟线程是 Project Loom 的一部分，该项目的目标是将纤程（fibers）的概念引入 Java 平台，从而提高并发编程的易用性和效率。]]></description><category></category></item><item><title><![CDATA[JDK11~JDK17值得关注的更新整理]]></title><link>https://blog.youkuaiyun.com/wang92424/article/details/142845680</link><guid>https://blog.youkuaiyun.com/wang92424/article/details/142845680</guid><author>wang92424</author><pubDate>Fri, 11 Oct 2024 10:18:33 +0800</pubDate><description><![CDATA[这个特性增强了instanceof运算符，允许在检查一个对象的类型时直接进行模式匹配，这使得代码更加简洁和易于理解。通常我们使用instanceof时，一般发生在需要对一个变量的类型进行判断，如果符合指定的类型，则强制类型转换为一个新变量在使用instanceof的模式匹配后，上面的代码可进行简写。可以将类型转换和变量声明都在if中处理。同时，可以直接在if中使用这个变量。因为只有当instanceof的结果为true时，才会定义变量furit，所以这里可以使用&&，但是改为||就会编译报错。]]></description><category></category></item><item><title><![CDATA[Gradle基础命令]]></title><link>https://blog.youkuaiyun.com/wang92424/article/details/142819824</link><guid>https://blog.youkuaiyun.com/wang92424/article/details/142819824</guid><author>wang92424</author><pubDate>Thu, 10 Oct 2024 13:56:41 +0800</pubDate><description><![CDATA[Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具。）是一个方便的工具，它确保了所有开发者和构建服务器使用相同版本的Gradle，从而避免了版本不一致的问题。在大多数情况下，建议使用Wrapper来执行Gradle命令。请注意，Gradle Wrapper（]]></description><category></category></item></channel></rss>