自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

书山有路,学海无涯。记录成长,追逐梦想

专注于【大数据】、【云原生】、【云计算】、【测试技术】等领域

  • 博客(558)
  • 收藏
  • 关注

原创 【人工智能】ChatGPT、DeepSeek-R1、DeepSeek-V3 辨析

ChatGPT(由 OpenAI 开发)和 DeepSeek(由深度求索公司开发)都是基于大语言模型(LLM,Large Language Model)的技术,但它们在模型架构、训练数据、优化目标和具体应用上存在差异。

2025-07-07 23:24:56 934

原创 【人工智能】AI 应用分类

AI 应用已广泛覆盖多个领域,主要分为:(1)大语言模型擅长文本处理;(2)AI 搜索优化信息检索;(3)编程工具提升开发效率;(4)图像视频生成创作多媒体内容;(5)音频生成制作音乐;(6)3D 建模辅助设计;(7)办公工具自动化工作流程;(8)医疗 AI 辅助诊断;(9)机器人实现物理交互。各类 AI 产品各具特色,用户可按需选择,未来将向多模态融合和自主决策方向发展。

2025-07-07 10:00:00 720

原创 【人工智能】AI Agent 技术与应用场景解析

2025 年被广泛视为 AI Agent 元年,随着技术的成熟,AI Agent 将从辅助工具(Copilot)进化为自主执行者(Agent),甚至成为 “数字员工”,重塑企业工作流和人机协作模式。未来,AI Agent 可能会进一步结合具身智能(机器人控制)和多 Agent 系统,实现更复杂的自动化任务。

2025-07-06 22:28:14 1030

原创 【Elasticsearch】自定义评分检索

这篇文章介绍了 Elasticsearch 中的自定义评分机制,重点讲解了 Function Score Query 和 Boosting Query 两种方法。Function Score Query 通过基础查询结合多个评分函数进行综合评分调整,并支持多种评分组合方式。Boosting Query 则通过正向/负向查询和降权系数对特定结果进行降权处理而非完全排除。这两种方法都可用于满足业务特定需求、个性化排序、商业逻辑等场景,使搜索结果更符合实际业务需求。

2025-07-06 16:08:05 1656

原创 【Elasticsearch】深度分页及其替代方案

深度分页指查询结果集中非常靠后的数据,主要使用 from+size 参数组合。这种查询方式存在严重性能问题。Search After、Scroll API、限定特定时间范围等方案可有效解决传统分页在深度查询时的性能瓶颈,建议根据实际场景选择合适的替代方法。

2025-07-05 22:23:18 1237

原创 【Elasticsearch】检索排序 & 分页

本文介绍了 Elasticsearch 的检索排序与分页功能,包括测试数据准备、排序实现(单字段/多字段/日期排序)、基础分页与深度分页的差异,以及高效的 search_after 分页方法。通过综合示例展示了高亮、排序与分页的组合应用,并提供了实践建议:合理设置分页参数避免性能问题,使用 search_after 优化深度分页,排序时注意字段类型限制,高亮查询需控制返回片段数量。这些功能组合使用可以构建高效的数据检索系统。

2025-07-05 22:22:44 1044

原创 【Elasticsearch】检索高亮

Elasticsearch 的高亮功能用于在搜索结果中标记匹配文本片段。片段是从原始文本提取的包含关键词的短文本,由 fragment_size 和 number_of_fragments 控制。通过案例演示了基础高亮、自定义标签、多字段高亮等用法,并对比不同参数设置的效果。对于长文本,合理配置片段参数可优化展示效果和性能。

2025-07-05 16:25:37 985

原创 【人工智能】大语言模型(LLM)& NLP

大语言模型是基于海量数据和参数训练的 "超级文字预测器",通过统计概率模仿人类语言,能完成聊天、写作、编程等多任务。与传统 NLP 技术相比,LLM 具有通用性、无需标注数据、参数规模超大等特点,实现了从专用工具到全能助手的进化。虽然 LLM 属于 NLP 范畴,但其 "涌现能力" 和模糊需求理解能力标志着技术的质变。作为 NLP 的 "究极形态",LLM 未来或将融合多模态,但语言核心仍植根于 NLP 基础技术。

2025-07-03 23:56:20 844

原创 【云计算】企业项目 & 策略授权

企业项目和策略授权是云资源管理中两个互补的核心机制。企业项目作为资源组织和隔离的容器,主要实现资源分组、成本核算和部门协作;策略授权则定义用户/用户组对资源的操作权限规则。两者的关键区别在于:企业项目确定资源管理边界,策略授权规定可执行操作。

2025-07-03 22:17:13 1068

原创 【Elasticsearch】most_fields、best_fields、cross_fields 的区别与用法

Elasticsearch 多字段搜索策略对比 multi_match 查询提供了三种核心策略:best_fields(最佳字段)、most_fields(多字段总和)和 cross_fields(跨字段统一)。best_fields 取最高分字段,适用于查询词集中在单字段的场景;most_fields 累加各字段得分,适合分散匹配或同义词搜索;cross_fields 将多字段视为一个逻辑字段,解决词项分散问题。

2025-06-28 16:46:05 1071

原创 【Elasticsearch】全文检索 & 组合检索

本文介绍了 Elasticsearch 中的全文检索技术,主要包括四种核心检索方式:(1)match 查询支持分词检索和模糊匹配;(2)match_phrase 用于精确短语匹配,可设置词间距;(3)match_phrase_prefix 实现短语前缀匹配;(4)multi_match 支持跨多字段检索。通过商品数据案例演示了每种查询的具体应用,包括参数设置和结果分析,帮助理解不同检索场景下的实现方式和效果差异。全文检索技术为复杂搜索需求提供了灵活高效的解决方案。

2025-06-28 12:30:48 1629

原创 【Elasticsearch】精准匹配检索(Exact Match)

本文介绍了 Elasticsearch 精准匹配检索的功能与应用。文章首先分类介绍了 Term、Terms、Range 等精准查询方式,以及全文检索、复合检索和特殊检索类型。随后通过创建产品索引和测试数据,详细演示了 Term(精确值匹配)、Terms(多值匹配)、Range(范围查询)和 Exists(存在性查询)等精准查询的具体实现。案例包括查找特定类别的产品、多类别筛选、价格区间查询以及字段存在性检查,帮助读者掌握各类精准检索的使用场景和实现方法。

2025-06-23 11:00:00 1140

原创 【Elasticsearch】请求量和延迟对搜索性能的影响及关键指标分析

当集群收到请求时,可能需要跨多个节点访问多个分片中的数据。系统处理和返回请求的速率、当前正在进行的请求数以及请求的持续时间等核心指标是衡量集群健康的重要因素。请求过程本身分为两个阶段。第一个是查询阶段,集群将请求分发到索引中的每个分片(主分片或副本成片)。第二个是获取阶段,查询结果被收集,处理并返回给用户。

2025-06-23 10:00:00 887

原创 【Elasticsearch】磁盘警戒水位线机制

磁盘警戒水位线(Disk Watermark)是 Elasticsearch 用于防止节点因磁盘空间不足导致故障的重要保护机制,它会根据磁盘使用情况自动控制分片分配行为。

2025-06-22 09:22:34 1160

原创 【Elasticsearch】_cluster/health 和 _cat/nodes 命令详解

Elasticsearch集群监控命令解析 本文详细解析了Elasticsearch的两个关键监控命令:_cluster/health用于检查集群健康状态,包含分片分配、节点数量等关键指标;_cat/nodes可查看各节点资源使用情况,如CPU、内存负载和节点角色。文章提供了各参数的详细解释、健康状态分析示例和监控建议,帮助运维人员快速识别集群异常。当status变为yellow/red或资源使用率达阈值时需立即介入处理,确保集群稳定运行。

2025-06-22 09:20:35 802

原创 【Elasticsearch】运维监控:分片和节点

与主节点相比,数据节点是文档落地存储的载体,同时数据节点还接收并处理客户端请求,执行搜索和聚合有关的所有数据操作。数据节点往往需要具有较高 CPU 内存资源的服务器。文档增、删、改、查以及搜索操作会占用大量 CPU 和 IO。因此监视数据节点利用率指标很重要,从 CPU、内存的角度来看,应确保数据节点平且不会过载。

2025-06-21 15:48:03 1061

原创 【Elasticsearch】脚本(Script)

Elasticsearch 脚本(Script)是一种在查询、聚合或更新文档时执行自定义逻辑的方式。它允许用户在查询时动态计算值、修改文档或实现复杂的业务逻辑,而无需预先处理数据。

2025-06-21 09:28:10 866

原创 【Elasticsearch】文档迁移(Reindex)

Elasticsearch 的 Reindex 操作是一种将数据从一个索引复制到另一个索引的重要功能,主要应用于索引结构变更、数据迁移、数据转换、分片优化和版本升级等场景。该操作本质上是重新索引文档的过程,而非简单文件复制。

2025-06-17 11:00:00 1097

原创 【Elasticsearch】更新文档,_source 字段必须为 true 吗

Elasticsearch 的 _source 字段默认为 true(存储原始文档数据),禁用后将无法进行部分更新或脚本更新(报错 "source disabled"),仅支持完全替换(PUT)。实际测试表明,禁用 _source 后部分更新操作失败,而替换操作成功。生产环境建议保持 _source 启用以确保灵活性,除非存储敏感且无需更新功能。可通过 _mapping 检查设置,禁用后需重建索引恢复功能。关键结论:_source 并非必须为 true,但禁用会严重限制更新能力。

2025-06-17 10:00:00 626

原创 【Elasticsearch】为什么文档删除后,索引存储空间有时反而增大

Elasticsearch删除文档后索引空间可能增大,主要源于底层机制:1) 标记删除机制使文档仅被标记而非物理删除,新增Tombstone记录占用空间;2) 段合并延迟导致新旧段并存;3) Translog和版本控制等元数据累积。解决方案包括手动触发段合并、调整刷新间隔和监控Translog。最佳实践建议批量删除后执行_forcemerge,并关注docs.deleted比例(超过10%需优化)。该现象是系统为平衡性能与一致性的正常表现。

2025-06-16 11:00:00 747

原创 【Elasticsearch】为什么批量写入(bulk)可以提高性能

本文探究了在 Elasticsearch 中为什么批量写入(bulk)可以提高性能的原因。

2025-06-16 10:00:00 635

原创 【Elasticsearch】文档(二):更新

本文介绍了Elasticsearch中更新文档的多种操作方式。首先说明了更新文档的前置条件,包括文档必须存在、索引存在、用户拥有写入权限等。然后通过具体示例演示了6种更新场景。每种方法都配有完整的命令示例和操作截图,涵盖了Elasticsearch常见的文档更新需求。

2025-06-15 12:17:35 899 1

原创 【Elasticsearch】文档(一):新增 & 删除

在 Elasticsearch 中,文档(Document)是最小的可索引数据单元,也是信息存储和检索的基本单位。它是 Elasticsearch 的核心概念之一,类似于关系型数据库中的一行记录或 NoSQL 数据库中的一个 JSON 对象。

2025-06-15 09:25:38 826

原创 【Elasticsearch】数据预处理(含实战案例)

Elasticsearch的数据预处理是指在文档索引前,通过 Ingest Pipeline 机制对原始数据进行标准化、清洗和增强处理。预处理可实现数据格式化、字段提取、信息丰富、敏感数据清洗和文本优化等功能。核心实现方式是通过一系列处理器(如grok、geoip、script等)组成的处理管道,在文档写入时自动执行转换。

2025-06-14 18:21:11 1616

原创 【Elasticsearch】分词机制详解(含实战案例)

本文详细介绍了Elasticsearch中的分词机制。分词是将文本拆分为独立词项的过程,用于提高搜索效率和准确性。分词主要发生在索引和搜索两个阶段,由字符过滤器、分词器和词项过滤器三部分组成。文章列举了内置分词器、中文分词器和自定义分词器分类,并通过一个跨境电商商品搜索案例,展示了如何设计包含多语言支持、型号处理、同义词扩展等功能的定制分词器。该案例实现特殊符号过滤、产品型号保留等技术要点,有效解决了电商搜索中的多语言、复杂规格等实际问题。

2025-06-14 11:52:12 1795

原创 【Elasticsearch】Elasticsearch 近实时高速查询原理

倒排索引是 Elasticsearch 能实现近实时查询的重要原因之一,那为什么倒排索引可以提高查询的速度呢?底层的工作原理又是什么呢?对比其他的查询搜索组件,Elasticsearch 的优势在哪里?

2025-06-10 23:23:07 1009

原创 【Elasticsearch】正排索引、倒排索引(含实战案例)

文章摘要 本文详细介绍了搜索引擎中的两种核心索引结构:正排索引和倒排索引。正排索引通过文档ID映射文档内容,适合获取完整文档和排序计算;倒排索引通过词项映射文档ID列表,支持高效全文搜索。两者协同工作完成搜索流程:倒排索引定位匹配文档,正排索引获取文档内容。文中通过电商商品搜索案例,在Kibana中演示了两种索引的实际应用场景,包括全文搜索、排序、高亮等操作。最后还提供了索引性能优化建议,如禁用非必要字段的正排索引等。理解这两种索引的差异有助于优化搜索引擎的设计和使用。

2025-06-10 11:00:00 913

原创 【Elasticsearch】Elasticsearch 在大数据生态圈的地位 & 实践经验

Elasticsearch 是实时搜索和分析领域的王者,其优势源于倒排索引和分布式架构的深度优化。在大数据生态中,它与 HDFS、Hive 等组件不是替代关系,而是互补协作(例如用 HDFS 存储原始数据,用 ES 提供实时查询)。

2025-06-09 23:56:14 1624

原创 【Elasticsearch】一个图书馆的案例解释 Elasticsearch

在 Elasticsearch 中,索引(Index)既可以是 名词(存储数据的逻辑单元),也可以是 动词(写入数据的过程)。让我们用一个更生活化的比喻来彻底理清这个概念。

2025-06-09 23:25:42 1256 1

原创 【Elasticsearch】映射:null_value 详解

Elasticsearch中null_value参数详解:用于处理字段值为null或不存在的情况,允许指定替代值进行索引和查询。支持数值、字符串、日期等多种字段类型,使用时需注意类型匹配和存储开销。通过示例展示了如何为不同类型字段设置null_value,以及查询时的具体用法。主要应用于统一处理缺失值、聚合分析等场景,与exists查询和应用层处理相比各有优劣。该功能是处理null值搜索和聚合的直接解决方案,但会略微增加索引大小。

2025-06-08 23:42:34 1350

原创 【Elasticsearch】映射:详解 _source & store 字段

本文详细介绍了Elasticsearch中_source和store字段的区别与用法。_source字段默认启用,存储文档的原始JSON内容,支持完整文档检索、高亮和重新索引等操作。而store是字段级属性,单独存储特定字段,适合只需访问部分字段的场景。两者主要区别在于:_source是文档级存储,开销较大;store是字段级存储,更高效但功能有限。建议在大多数情况下保持_source启用,仅对需要频繁访问的特定字段设置store属性。合理使用这两个特性可以平衡存储开销和查询性能。

2025-06-08 19:16:21 1251

原创 【Elasticsearch】映射:fielddata 详解

fielddata 是 Elasticsearch 中一种数据结构,用于在内存中缓存字段数据。当需要对 text 字段或其他非 doc_values 支持的字段执行上述操作时,Elasticsearch 需要将这些字段的值加载到内存中,这就是 fielddata 的作用。

2025-06-08 14:18:18 1159

原创 【Kibana】Kibana 大数据分析实战(电商数据集)

kibana_sample_data_ecommerce 是 Elastic 官方提供的电商业务模拟数据集,主要用于 Kibana 的功能演示和数据可视化练习。这个数据集模拟了一个在线零售商的交易数据。

2025-06-07 17:15:38 1153 1

原创 【Elasticsearch】映射:Join 类型、Flattened 类型、多表关联设计

在 Elasticsearch 中,由于它是面向文档的 NoSQL 数据库,不像关系型数据库那样原生支持 JOIN 操作,因此需要采用特殊的设计方案来实现多表关联。

2025-06-07 11:51:02 876

原创 【Elasticsearch】映射:Nested 类型

Nested(嵌套)类型是 Elasticsearch 中一种特殊的数据类型,用于处理对象数组(object arrays)中对象的独立性。在默认情况下,Elasticsearch 会将对象数组扁平化(flattened),这会导致数组内对象之间的关联丢失。Nested 类型解决了这个问题,它使数组中的每个对象被独立索引和查询。

2025-06-06 23:54:28 1897 1

原创 【Elasticsearch】映射(Mapping)

动态映射是 Elasticsearch 自动检测和创建字段映射的能力。当索引一个新文档时,如果包含未定义的字段,Elasticsearch 会根据字段值自动推断数据类型并创建映射。

2025-06-05 22:13:07 1232 1

原创 【Elasticsearch】ILM(Index Lifecycle Management)策略详解

ILM(Index Lifecycle Management,索引生命周期管理)是 Elasticsearch 提供的一种自动化管理索引生命周期的机制。它允许用户根据预先定义的策略,自动执行索引的滚动更新(rollover)、分片分配、冻结和删除等操作,无需人工干预。

2025-06-02 20:07:08 1339

原创 【Elasticsearch】索引(Index)

索引模板(Index Template)是 Elasticsearch 中一种自动为新创建的索引应用预定义配置(包括设置、映射和别名)的机制。当新索引的名称与模板中定义的模式匹配时,Elasticsearch 会自动将模板中的配置应用到该索引。

2025-06-02 14:31:10 1170

原创 【Python Cookbook】文件与 IO(三)

需要强调的一点是,内存映射一个文件并不会导致整个文件被读取到内存中。也就是说,文件并没有被复制到内存缓存或数组中。相反,操作系统仅仅为文件内容保留了一段虚拟内存。当你访问文件的不同区域时,这些区域的内容才根据需要被读取并映射到内存区域中。而那些从没被访问到的部分还是留在磁盘上。所有这些过程是透明的,在幕后完成!

2025-06-01 14:02:39 1015

原创 【Python Cookbook】文件与 IO(二)

当你想模拟一个普通文件的时候,StringIO 和 BytesIO 类是很有用的。比如,在单元测试中,你可以使用 StringIO 来创建一个包含测试数据的类文件对象,这个对象可以被传给某个参数为普通文件对象的函数。需要注意的是, StringIO 和 BytesIO 实例并没有正确的整数类型的文件描述符。因此,它们不能在那些需要使用真实的系统级文件,如文件,管道或者是套接字的程序中使用。

2025-06-01 13:59:56 978

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除