电商平台搜索服务特点

随着电商平台的快速发展和所销售商品的数量大规模增长,从大量的商品数据中快速获取用户关注的商品,变得越来越有挑战性。优秀电商平台能够吸引客户的因素之一,就是拥有强大,友好的搜索服务,用户能够从大量数据中快速找到想要的商品。

图1-1 搜索功能演示

搜索引擎需要解决如下问题:

  • 相关的商品能不能在一秒甚至更短的时间返回
  • 对用户输入的关键字进行错误检查
  • 当用户输入关键字的时候,给予一些关键字的建议
  • 返回包含与关键字匹配的同义词的商品
  • 对一些匹配度高但没有实际意义的词进行过滤,比如“a”,“an”,“of”等
  • 根据相关度进行排序

目前搜索的开源方案已经非常成熟,针对以上问题都有相应的解决方案,最出名的Solr和Elastic Search都是基于Lucence的。 Hybris电商平台使用Solr作为自己内嵌的搜索解决方案。本文将以一个B2C家用电器垂直电商为业务背景,基于Hybris平台,讨论如何使用Solr的特征定制出强大的搜索方案,进一步提升用户的搜索体验。需要注意的是,Hybris平台对Solr做了一系列的封装,本文不会对Solr具体的API展开讨论,有兴趣的读者可以查阅Solr官网。

Hybris电商平台搜索服务实践相关推荐

  1. Java生鲜电商平台-微服务架构概述

    Java生鲜电商平台-微服务架构概述 单体架构存在的问题 在传统的软件技术架构系统中,基本上将业务功能集中在单一应用内,或者是单一进程中.尽管现代化的软件架构理论以及设计原则已推广多年,但实际技术衍化 ...

  2. Java生鲜电商平台-微服务入门与服务的拆分架构实战

    Java生鲜电商平台-微服务入门与服务的拆分架构实战 刚开始进入软件行业时还是单体应用的时代,前后端分离的概念都还没普及,开发的时候需要花大量的时间在"强大"的JSP上面,那时候S ...

  3. Java生鲜电商平台-微服务生鲜电商用户中心的系统设计(小程序/APP)

    Java生鲜电商平台-微服务生鲜电商用户中心的系统设计(小程序/APP) 说明:在微服务生鲜电商用户中心的系统设计中,我一直强调一个观点,就是你这个系统使用用户到底是TO B的还是TO C的呢?这个是 ...

  4. 如何设计一个优雅健壮的Android WebView?(上) 基于考拉电商平台的WebView实践

    前言 Android应用层的开发有几大模块,其中WebView是最重要的模块之一.网上能够搜索到的WebView资料可谓寥寥,Github上的开源项目也不是很多,更别提有一个现成封装好的WebView ...

  5. 主流电商平台搜索中间页对比分析

    一.说明 这篇分析报告单纯是为了自我学习,找出各个电商平台在搜索中间页设计上的差异,如有不足之处,欢迎拍砖点评. 此次分析,挑选的APP产品有:手机淘宝.手机天猫.京东.拼多多.苏宁易购.唯品会.为了 ...

  6. java电商商品搜索_Java生鲜电商平台-搜索模块的设计与架构

    说明:搜索模块针对的是买家用户,在找菜品找的很费劲下的一种查询方面.目前也是快速的检索商品. 对于移动端的APP买家用户而言,要求的速度在3秒内完成.支持模糊查询,由于业务实战表面,整个搜索频率不到1 ...

  7. 电商平台-搜索模块的设计与架构

    说明:搜索模块针对的是买家用户,在找菜品找的很费劲下的一种查询方面.目前也是快速的检索商品. 对于移动端的APP买家用户而言,要求的速度在3秒内完成.支持模糊查询,由于业务实战表面,整个搜索频率不到1 ...

  8. 电商平台微服务架构演进

    一 初始架构 引入 nacos 后的基础架构图. 二 加入 Ribbon 后的架构 引入多个微服务,每个微服务通过 Ribbon 进行相互调用. 三 引入 Feign 后的架构 Feign 底层还是会 ...

  9. Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲

    Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲 Java生鲜电商平台:   微服务是当前非常流行的技术框架,通过服务的小型化.原子化以及分布式架构的弹性伸缩和高可用性, ...

最新文章

  1. 人脸检测--Supervised Transformer Network for Efficient Face Detection
  2. Python | [a for b in c for a in b]的用法
  3. Visual Stdio 无法直接启动带有“类库输出类型”的项目若要调试此项目,请在此解决方案中添加一个引用库项目的可执行项目。将这个可执行项目设置为启动项目!
  4. 单片机指令周期、机器周期、状态周期、时钟周期
  5. SwitchyOmega 配置
  6. C# 多线程 Parallel.For 和 For 谁的效率高?那么 Parallel.ForEach 和 ForEach 呢?
  7. IDEA打开clone的项目编译时出现java: 程序包org.springframework.boot不存在。
  8. 码农干货系列【6】--javascript异步编程之:世界上最短的Promise库
  9. 有需要【JavaScript权威指南第七版、JavaScript高级程序设计第四版】的可以私信我哈
  10. 智能家居(1)行业发展分析
  11. 中發白——企业软件公司的战略大三元
  12. 配置jetson的usb转串口驱动
  13. 条件期望,重期望,相关知识点
  14. 第五---七章 交换机和路由器的基本配置
  15. 计算机电池维修心得,CMOS电池引起计算机无法启动的检修详解
  16. Lua 报错 PANIC: unprotected error in call to Lua API (no calling environment) 解决办法
  17. 红黑树和红黑树的原理详解
  18. 【深度学习学习笔记】数值计算——矩阵
  19. 如何在Excel中批量新建工作表
  20. 用级数进行对数计算,基于ln(x)求loga(b)

热门文章

  1. java发送短信是乱码_java发送短信内容乱码
  2. Mysql5.7找回root密码
  3. 支架的工艺规程及钻Φ52孔的工装夹具设计(说明书+CAD图纸+工艺卡)
  4. 双鹤药业:增发渐近,看好未来 买入
  5. Revit二次开发之俯视图缩放匹配
  6. 区块链安全:闪电贷 Flashloan
  7. python 3.6.6安装fake_Python fake_useragent报错解决方案
  8. Openlayers 0:开始学习
  9. kbe使用tornado问题
  10. oa服务器的性能,oa服务器主要配置