Elasticsearch 商品映射配置

需积分: 10 0 下载量 51 浏览量 更新于2024-08-05 收藏 1KB TXT 举报
"产品映射配置文件" 在 ElasticSearch(简称ES)中,`product-mapping.txt.txt` 文件描述了一个用于存储商品信息的数据模型,它定义了各种字段的类型和特性,以便于有效地索引和搜索产品数据。这个映射(mapping)配置详细地规定了每个字段如何被处理和分析,从而优化了数据存储和检索性能。 首先,我们关注到 `skuId` 字段,它的类型被设置为 `long`,用于存储商品的唯一库存单位(SKU)ID,这是一种整数值。 接着是 `spuId`,它的类型为 `keyword`,这是一个不分词的字段,常用于存储不可分割的标识符,如标准产品单元(SPU)ID,保持数据的原始形式,方便精确匹配。 `skuTitle` 字段使用了 `text` 类型,并配置了 `analyzer` 为 `ik_smart`,这表明标题将使用智能中文分词器进行分析,以便在搜索时能够匹配标题中的多个关键词。 `skuPrice` 字段被设定为 `keyword` 类型,这是因为价格通常包含小数,使用 `keyword` 可以确保数值的精度,避免分词导致的精度丢失。 `skuImg` 字段同样为 `keyword` 类型,可能用于存储商品图片的URL,而 `saleCount` 是商品销售数量,类型为 `long`。 `hasStock` 字段表示商品是否有库存,类型为 `boolean`,可以是 `true` 或 `false`。 `hotScore` 字段表示商品热度分数,使用 `long` 类型存储。 品牌相关的字段,如 `brandId` 和 `brandName`,都是 `keyword` 类型,用于存储品牌ID和品牌名称。其中,`brandImg` 的设置为 `keyword` 类型,但设置了 `index` 为 `false` 和 `doc_values` 为 `false`,这意味着这个字段不会被用于搜索和聚合,而是仅用于展示目的。 `catalogId` 和 `catalogName` 分别表示商品所属的分类ID和分类名称,同样使用 `keyword` 类型,其中 `catalogName` 也有类似 `brandImg` 的配置,不参与索引和聚合。 最后,`attrs` 字段是 `nested` 类型,这意味着它是一个嵌套对象,包含 `attrId`(属性ID)、`attrName`(属性名)和 `attrValue`(属性值)。`attrName` 和 `attrValue` 同样被定义为 `keyword` 类型,且设置了 `index` 和 `doc_values` 为 `false`,表明这些属性名和值只用于数据存储,不参与查询和聚合操作。 这个映射文件确保了在 ES 中存储和查询产品数据的高效性和准确性,针对不同的字段特性进行了定制化的设置,以满足搜索、分析和展示的需求。