SkuEsModel 静态内部类 es映射形式

es映射规则一旦创建就不能修改 只有创建新的映射 然后把数据从老映射迁移到新映射

package com.kaki.common.es;

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;


/**
 *    要存在 es 的数据对应的实体类模型 商品上架把这个类型的数据传给 es  es也可以做商品全文搜索
 */
@Data
public class SkuEsModel {

    private Long skuId;

    private Long spuId;

    private String skuTitle;

    private BigDecimal skuPrice;

    private String skuImg;

    private Long saleCount;

    private Boolean hasStock;

    private Long hotScore;

    private Long brandId;

    private Long catalogId;

    private String brandName;

    private String brandImg;

    private String catalogName;

    private List<Attrs> attrs;

    /**
     *    如果我内部类与你外部类关系不紧密,耦合程度不高,
     *    不需要访问外部类的所有属性或方法,那么我就设计
     *    成   静态内部类   。而且,由于静态内部类与外部类并不
     *    会保存相互之间的引用,因此在一定程度上,还会节
     *    省那么一点内存资源,何乐而不为呢~~
     *
     * 既然上面已经说了什么时候应该用静态内部类,那么如果你的需求不符合静态内部类所提供的一切好处,
     * 你就应该考虑使用    内部类    了。最大的特点就是:你在内
     * 部类中需要访问有关外部类的所有属性及方法,我知晓你的一切... ...
     *
     *
     *
     * 只有静态内部类才能序列化
     *
     * 非静态内部类的实例,会隐含保存一个指向其外部类实例的引用。如果进行序列化,估计会有问题。
     */
    @Data
    public static class Attrs {//把内部类设置为 publc  为了便于其他第三方工具对他进行序列化和反序列化

        private Long attrId;

        private String attrName;

        private String attrValue;

    }

/**
 * {
 * 	"mappings": {
 * 		"properties": {
 * 			"skuId": {
 * 				"type": "long"
 *                        },
 * 			"spuId": {
 * 				"type": "keyword"
 *            },
 * 			"skuTitle": {
 * 				"type": "text",
 * 				"analyzer": "ik_smart"
 *            },
 * 			"skuPrice": {
 * 				"type": "keyword"
 *            },
 * 			"skuImg": {
 * 				"type": "keyword",
 * 				"index": false,
 * 				"doc_values": false
 *            },
 * 			"saleCount": {
 * 				"type": "long"
 *            },
 * 			"hasStock": {
 * 				"type": "boolean"
 *            },
 * 			"hotScore": {
 * 				"type": "long"
 *            },
 * 			"brandId": {
 * 				"type": "long"
 *            },
 * 			"catalogId": {
 * 				"type": "long"
 *            },
 * 			"brandName": {
 * 				"type": "keyword",
 * 				"index": false,
 * 				"doc_values": false
 *            },
 * 			"brandImg": {
 * 				"type": "keyword",
 * 				"index": false,
 * 				"doc_values": false
 *            },
 * 			"catalogName": {
 * 				"type": "keyword",
 * 				"index": false,
 * 				"doc_values": false
 *            },
 * 			"attrs": {
 * 				"type": "nested",
 * 				"properties": {
 * 					"attrId": {
 * 						"type": "long"
 *                    },
 * 					"attrName": {
 * 						"type": "keyword",
 * 						"index": false,
 * 						"doc_values": false
 *                    },
 * 					"attrValue": {
 * 						"type": "keyword"
 *                    }
 *                }
 *            }* 		}
 * 	}
 * }
 */

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值