使用ElasticSearch搜索商品及向es中批量添加商品的实现思路及部分代码实现(后台系统上架商品、下架、修改的时候分别发送MQ消息到队列,消息监听器监听队列的消息变化,更新ES)

搜索服务
需求
实现整个系统的全站搜索
主要是实现商品相关搜索
分析
技术站:ElasticSearch Spring Data Elasticsearch
索引:
商品信息:micro:products
文档:
商品id 商品名称 商品的关键字 商品的类型
1.数据一致性的保证:
a.采用定时任务实现ES数据的维护
从Redis获取数据:
1个:新增的内容
1个:修改的内容
1个:删除的内容
批处理
b.MQ
后台系统上架商品、下架、修改的时候分别发送MQ消息到队列,消息监听器监听队列的消息变化,更新ES
二、代码实现

public class SystemConfig {

    /*
    ES用来存储商品信息的索引名称
     */
    public static final String ES_PRODUCTS="micro:es:product";
}
package com.lxm.searchservice.model;

import com.lxm.common.config.SystemConfig;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;

/**
 * @Author LXM
 * @Date 2020/7/16 0016
 */
@Data
@Document(indexName = SystemConfig.ES_PRODUCTS)
public class ProductModel {
    @Id //唯一标记
    private Integer id;
    @Field(index = true,name = "esname")//设置字段信息,比如分词规则
    private String name;
    private String type;
    private String keywords;
}
package com.lxm.search
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值