Elasticsearch索引 = Mapping?

不,Elasticsearch 索引(Index) ≠ Mapping。
这是两个紧密关联但本质不同的概念:

  • 索引(Index)数据的容器(类似数据库中的“表”)
  • Mapping(映射)索引的结构定义(类似“表结构”或“Schema”)

将二者等同,会导致对 ES 数据模型的根本性误解。


一、本质区别:容器 vs 结构

维度索引(Index)Mapping(映射)
角色数据存储单元字段结构定义
类比MySQL 的数据库表(table)MySQL 的表结构(CREATE TABLE …)
内容包含文档(Documents)、分片(Shards)、设置(Settings)定义字段类型(text/keyword/integer)、分析器、是否可聚合等
变更可动态增删文档字段类型一旦设定,不可修改(需重建索引)

💡核心认知
Mapping 是 Index 的“基因蓝图”,Index 是 Mapping 的“物理载体”


二、包含关系:Index 包含 Mapping

一个完整的 Index 定义包含两部分:

PUT/products{"settings":{...},// ← 索引设置(分片数、刷新间隔等)"mappings":{...}// ← 映射(字段结构定义)}
▶ 1.Settings(设置)
  • 控制索引的物理行为
    {"number_of_shards":3,"number_of_replicas":1,"refresh_interval":"30s"}
▶ 2.Mappings(映射)
  • 控制数据的逻辑结构
    {"properties":{"name":{"type":"text"},"price":{"type":"float"},"brand":{"type":"keyword"}}}

关键结论
Mapping 是 Index 的子集,Index 是 Mapping 的宿主


三、实战中的典型误区

▶ 误区 1:“创建了 Index 就有 Mapping”
  • 事实
    • 若未显式定义 Mapping,ES 会根据第一条文档动态生成
    • 动态 Mapping 常导致字段类型错误(如字符串数字被设为text
  • 后果
    • 无法范围查询(range
    • 聚合结果异常
  • 正确做法
    始终显式定义 Mapping
    PUT/products{"mappings":{"properties":{"user_id":{"type":"long"},// 避免被设为 text"name":{"type":"text"}}}}
▶ 误区 2:“修改 Mapping 就是修改 Index”
  • 事实
    • 字段类型不可变(如textkeyword需重建索引)
    • 只能新增字段,不能修改现有字段类型
  • 正确流程
    1. 创建新索引(带正确 Mapping)
    2. _reindex迁移数据
    3. 切换别名(Alias)
▶ 误区 3:“Index 名称影响 Mapping”
  • 事实
    • Index 名称仅用于路由和管理
    • 同一 Mapping 可用于多个 Index(如日志按天分索引:logs-2024-07-24

四、PHP 实战:Laravel 中的 Index 与 Mapping

▶ 步骤 1:创建 Index + Mapping
$client=\Elasticsearch\ClientBuilder::create()->build();$params=['index'=>'products','body'=>['settings'=>['number_of_shards'=>1,'refresh_interval'=>'30s'],'mappings'=>['properties'=>['name'=>['type'=>'text','fields'=>['keyword'=>['type'=>'keyword']]],'price'=>['type'=>'float'],'user_id'=>['type'=>'long']// 关键!避免 text]]]];$client->indices()->create($params);
▶ 步骤 2:验证 Mapping
// 获取当前 Mapping$mapping=$client->indices()->getMapping(['index'=>'products']);print_r($mapping['products']['mappings']);

五、终极心法

**“Index 不是结构,
而是数据的家园——

  • 当你定义 Mapping
    你在设计家园蓝图;
  • 当你创建 Index
    你在建造物理空间;
  • 当你协同二者
    你在构建高效搜索系统。

真正的 ES 大师,
始于对概念的敬畏,
成于对细节的精控。”


结语

从今天起:

  1. 所有 Index 必显式定义 Mapping
  2. ID/数字字段必用long/integer
  3. 修改字段类型必走 Reindex 流程

因为最好的搜索系统,
不是临时拼凑,
而是结构先行。

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

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

相关文章

Obsidian手写笔记插件完整教程:从零开始掌握数字书写艺术

Obsidian手写笔记插件完整教程:从零开始掌握数字书写艺术 【免费下载链接】obsidian-handwritten-notes Obsidian Handwritten Notes Plugin 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-handwritten-notes 在数字笔记盛行的时代,Obsi…

如何高效部署轻量化多模态模型?AutoGLM-Phone-9B详细安装与调用指南

如何高效部署轻量化多模态模型?AutoGLM-Phone-9B详细安装与调用指南 1. AutoGLM-Phone-9B 模型概述 1.1 轻量化多模态模型的技术背景 随着移动设备智能化需求的不断增长,大语言模型在终端侧的应用逐渐成为研究热点。然而,传统大模型通常参…

Image-to-Video高级技巧:如何编写更有效的提示词?

Image-to-Video高级技巧:如何编写更有效的提示词? 1. 简介与背景 随着多模态生成技术的快速发展,Image-to-Video(I2V)模型正在成为内容创作的重要工具。基于 I2VGen-XL 架构的图像转视频系统能够将静态图片转化为具有…

YOLO26模型转换:TVM编译器部署

YOLO26模型转换:TVM编译器部署 1. 镜像环境说明 本镜像基于 YOLO26 官方代码库 构建,预装了完整的深度学习开发环境,集成了训练、推理及评估所需的所有依赖,开箱即用。适用于快速开展目标检测、姿态估计等视觉任务的模型开发与部…

Open Interpreter工业自动化:PLC脚本辅助编写案例

Open Interpreter工业自动化:PLC脚本辅助编写案例 1. 引言:Open Interpreter在工业场景中的潜力 随着智能制造和工业4.0的推进,自动化系统对编程效率与灵活性提出了更高要求。传统PLC(可编程逻辑控制器)脚本开发依赖…

uniapp 使用 XMLHttpRequest发送二进制上传文件 可使用预上传接口上传到华为obs

<template><button click"changeMessage">选择文件</button><view v-show"false" :path"path" :change:path"requestModule.uploadOBS"></view> </template><script setup>import {ref} fr…

保姆级教程:从零开始使用Qwen All-in-One做情感分析

保姆级教程&#xff1a;从零开始使用Qwen All-in-One做情感分析 1. 引言&#xff1a;为什么需要轻量级多任务AI服务&#xff1f; 在当前大模型&#xff08;LLM&#xff09;快速发展的背景下&#xff0c;越来越多的应用场景要求模型具备多功能性与低部署门槛。然而&#xff0c…

Hunyuan开源模型值不值得用?技术架构深度解析指南

Hunyuan开源模型值不值得用&#xff1f;技术架构深度解析指南 1. 引言&#xff1a;企业级翻译需求下的新选择 随着全球化业务的不断扩展&#xff0c;高质量、低延迟的机器翻译能力已成为众多企业和开发者的刚需。传统的云服务翻译方案虽然稳定&#xff0c;但在数据隐私、定制…

BERT智能填空避坑指南:常见问题与解决方案汇总

BERT智能填空避坑指南&#xff1a;常见问题与解决方案汇总 1. 引言 随着自然语言处理技术的不断演进&#xff0c;基于预训练模型的应用已广泛渗透到各类语义理解任务中。其中&#xff0c;BERT 智能语义填空服务凭借其轻量化架构与高精度推理能力&#xff0c;成为中文掩码语言…

PDF-Extract-Kit版面分析:复杂文档结构识别技巧

PDF-Extract-Kit版面分析&#xff1a;复杂文档结构识别技巧 1. 技术背景与问题提出 在处理学术论文、技术报告、财务报表等复杂PDF文档时&#xff0c;传统文本提取工具往往难以准确还原原始文档的结构信息。常见的OCR工具虽然能够识别字符内容&#xff0c;但在面对多栏布局、…

实测通义千问2.5-7B-Instruct:AI对话效果惊艳,附完整部署教程

实测通义千问2.5-7B-Instruct&#xff1a;AI对话效果惊艳&#xff0c;附完整部署教程 1. 引言 随着大语言模型技术的持续演进&#xff0c;Qwen系列已升级至Qwen2.5版本。该版本在预训练数据量、推理能力、多语言支持和结构化输出等方面实现了全面增强。其中&#xff0c;Qwen2…

Ffmpeg.js 终极指南:浏览器端音视频处理的完整解决方案

Ffmpeg.js 终极指南&#xff1a;浏览器端音视频处理的完整解决方案 【免费下载链接】Ffmpeg.js Ffmpeg.js demos, both for browsers and node.js 项目地址: https://gitcode.com/gh_mirrors/ffm/Ffmpeg.js Ffmpeg.js 通过 WebAssembly 技术将强大的 FFmpeg 功能引入浏览…

从文本向量化到聚类优化|GTE大模型镜像应用全链路

从文本向量化到聚类优化&#xff5c;GTE大模型镜像应用全链路 1. 背景与挑战&#xff1a;传统文本聚类的瓶颈 在舆情分析、热点发现等自然语言处理任务中&#xff0c;文本聚类是一项基础且关键的技术。其目标是将语义相近的文本自动归为一类&#xff0c;从而帮助运营人员快速…

uni.chooseMedia 返回 /storage/emulated/ 开头或 content://media/external/开头

uni.chooseMedia 返回的 tempFilePath 出现两种前缀&#xff0c;是 平台文件系统差异 是否走压缩路径 导致的正常现象&#xff1a;/storage/emulated/...出现场景&#xff1a;Android 10 以下&#xff0c;或Android 10 但用户选择了“原图/原视频”&#xff08;HBuilderX 3.6 …

LinkSwift终极网盘直链下载助手完整使用教程

LinkSwift终极网盘直链下载助手完整使用教程 【免费下载链接】Online-disk-direct-link-download-assistant 可以获取网盘文件真实下载地址。基于【网盘直链下载助手】修改&#xff08;改自6.1.4版本&#xff09; &#xff0c;自用&#xff0c;去推广&#xff0c;无需输入“暗号…

Windows HEIC缩略图终极方案:让苹果照片在资源管理器完美预览

Windows HEIC缩略图终极方案&#xff1a;让苹果照片在资源管理器完美预览 【免费下载链接】windows-heic-thumbnails Enable Windows Explorer to display thumbnails for HEIC files 项目地址: https://gitcode.com/gh_mirrors/wi/windows-heic-thumbnails 还在为Windo…

小白必看:通义千问2.5-7B-Instruct快速入门与API调用指南

小白必看&#xff1a;通义千问2.5-7B-Instruct快速入门与API调用指南 1. 引言 随着大模型技术的快速发展&#xff0c;越来越多开发者希望将高性能语言模型集成到自己的应用中。然而&#xff0c;面对动辄数十GB的模型文件和复杂的部署流程&#xff0c;许多初学者望而却步。 本…

YOLO26模型融合:Ensemble推理性能提升

YOLO26模型融合&#xff1a;Ensemble推理性能提升 1. 技术背景与问题提出 目标检测作为计算机视觉领域的核心任务之一&#xff0c;近年来随着深度学习的发展取得了显著进步。YOLO&#xff08;You Only Look Once&#xff09;系列模型凭借其高精度与实时性&#xff0c;在工业界…

从架构到部署:AutoGLM-Phone-9B实现手机端低延迟多模态推理

从架构到部署&#xff1a;AutoGLM-Phone-9B实现手机端低延迟多模态推理 1. AutoGLM-Phone-9B的架构设计与核心价值 1.1 面向移动端的多模态融合挑战 随着智能终端对AI能力需求的持续增长&#xff0c;如何在资源受限的设备上实现高效、低延迟的多模态推理成为工程落地的关键瓶…

腾讯优图Youtu-2B案例:金融行业智能助手实现

腾讯优图Youtu-2B案例&#xff1a;金融行业智能助手实现 1. 引言 1.1 业务场景描述 在金融行业中&#xff0c;客户服务、风险评估、合规审查和投资咨询等环节对信息处理的准确性与响应速度提出了极高要求。传统人工处理方式效率低、成本高&#xff0c;而通用大模型往往因算力…