SOLR在电商中的基本应用

本文深入探讨了SOLR在电商场景中的应用,包括其高级搜索功能、优化策略、配置技巧以及如何实现商品搜索、筛选与索引更新。重点介绍了如何通过XML配置、合并搜索项、配置multiValued字段以及权重字段来提升搜索体验。

SOLR在电商中的基本应用

  • 高级的全文搜索功能
  • 专为高通量的网络流量进行的优化
  • 基于开放接口(XML和HTTP)的标准
  • 综合的HTML管理界面
  • 可伸缩性-能够有效地复制到另外一个Solr搜索服务器
  • 使用XML配置达到灵活性和适配性
  • 可扩展的插件体系

环境搭建

略。

字段的基本设计

  1. 字段仅添加搜索相关的字段,比如商品id、标题、品牌名称、分类名称,商品价格、上架时间,是否有货等,注意,这里存的字段主要是为了搜索出商品id,在展示时建义通过搜索到的商品id去数据库查找,因为有可能数据已经变更了,而SOLR还没更新,比如像价格,是否有货这种必须要时实查。
  2. 添加好中文分词包,并配置在需要中文分词搜索的字段。
  3. 维护好自建词库,以免被误拆,如品牌、分类等,像品牌随时在新增的词库,可以定时跑脚本更新。
  4. 配置好合并搜索项(copyField),在搜索时我们不仅需要搜索包含此关键字的商品名,可能需求是这样:包含此关键字的商品名、或包含此关键字的品牌、或包含此关键字的分类。
  5. 正确配置multiValued,有些字段有多个值,比如分类,一般会有一级分类,二级分类,三级分类,我们在搜索时针对的是所有分类名。
  6. 如果搜索出多个商品,没指定排序时谁展示在最前面?所以还需要一个权重字段,根据一些算法(如下单率、热度等)得到,定时跑出权重值写到表中,再更新到SOLR中。

搜索商品

搜索商品时直接搜索合并的搜索项(copyField)字段,在搜索时,如果不是一个词会存在搜索不到的情况,比如”爱他”是搜索不到爱他美奶粉的,我们想要如果不是一个词就拆成每一个字去搜索,如”爱他”拆分后是”爱”和”他”,我们想去搜索商品中相关信息中同时包含”爱”和”他”的商品,我的解决方法是,先调用SOLR的拆词分析,返回的每一个拆分字再作为搜索条件。

搜索筛选项

示例
使用SOLR的facet反推商品筛选项和数量

索引更新

  1. 定时全量更新
  2. 每一个商品的相关字段更新都要调用一个统一更新SOLR索引的API。
    本课程全程使用目前比较流行的开发工具idea进行开发,涉及到目前互联网项目中最常用的高并发解决方案技术, 如dubbo,redis,solr,freemarker,activeMQ,springBoot框架,微信支付,nginx负载均衡,电商活动秒杀,springSecurity安全框架,FastDFS分布式文件服务器,还会涉及到代码生成器,   前台的技术有angularJS和BootStrap框架,此课程内容丰富实战性强,如果你还是传统项目的开发人员,那你学完本课程会有很大的收获,让你的薪资上涨,5K以上,让你完全感受到了互联网思维带来的高 并发解决方案的思路,如果你是开发的小白,建议你学完Spring,SpringMVC,MyBatis框架后再来学习本门课程,学完以后会让你完全体验到企业级开发的流程.在职开发人员学完后会让你的薪资更高,让你更了解互联网是如何解决高并发 学完SSM框架的同学就可以学习,能让你切身感受到企业级开发环境目标1:完成solr环境安装、中文分析器和业务域的配置目标2:会使用Spring Data Solr完成增删改查操作目标3:完成批量数据导入功能目标4:完成按关键字搜索功能目标5:实现考拉易购搜索结果高亮显示功能目标6:说出考拉易购搜索的业务规则和实现思路目标7:完成查询分类列表的功能目标8:完成缓存品牌和规格数据的功能目标9:完成显示品牌和规格数据的功能目标10:完成过滤条件构建的功能目标11:完成过滤查询的功能目标11:实现考拉易购价格区间筛选功能目标12:实现搜索结果分页功能目标13:理解多关键字搜索目标14:实现搜索结果排序功能目标15:实现隐藏品牌列表功能目标16:实现搜索页与首页对接功能目标17:完成更新索引库的功能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值