中间件速查手册
搜索引擎映射

Mapping 是什么?

字段类型和分词方式的定义,决定数据怎么被检索

类比:图书馆的分类规则,决定书怎么上架

它是什么

Mapping 定义每个字段的类型(text、keyword、date、long、nested…)以及 text 字段用哪个分词器。类型一旦写入数据就基本不能改,改要 reindex。

text vs keyword

这是最常搞混的一对,选错会导致聚合失败或搜不到。

  • text:分词后可全文检索,不能直接聚合和排序
  • keyword:不分词,适合精确匹配、聚合、排序(如订单号、状态)
  • 常用做法:一个字段同时定义 text(检索)+ keyword 子字段(聚合)

动态映射的坑

默认开启动态映射,第一条数据里的 "123" 会被推断成 long,之后真的传字符串就报错;日期格式猜错也很常见。生产环境建议关闭动态映射,显式定义字段。

它出现在这些中间件里

相关概念