SAP Commerce Cloud 里的 Solr 架构简介
大多数电子商务网站都在其网站上提供搜索功能,尤其是用于搜索产品详细信息。
产品是任何电子商务网站中的主要搜索数据。
由于 Hybris 用于开发电子商务网站,因此 Hybris 中的 Solr 用于更快地搜索网站中的产品。
请看下图,了解如何在 Hybris 中使用 Solr:
Hybris 中的 Solr 概述
每当用户访问店面中的任何数据时,它可以来自hybris DB或Solr,具体取决于该数据是否已编入索引。
如果数据被索引,它将单独存储在 Solr 中,并且可以从那里访问。
如果数据未编入索引,则无论如何它都可以在Hybris DB 中使用并且可以从那里访问。
Solr和Hybris DB之间的通信是一种方式,因为Solr只从Hybris DB获取数据,但不会将任何内容写回Hybris DB。
Hybris 调用Cron 作业进行索引,然后 Solr 从 Hybris DB 获取源数据,然后进行索引并将索引数据保存在其中。
请记住:由于Solr 中的索引数据,
从Hybris DB访问数据将比从Solr访问数据花费更多的时间,因此Solr在搜索中比 Hybris DB 更受欢迎。
hybris 中的 Solr 支持 3 种索引策略
- 全索引
2)更新索引
删除索引
全索引:
在此策略中,将首先删除所有现有索引文档,然后从头开始创建新索引。
这需要相当长的时间,所以不建议经常这样做。
完整索引支持 2 种提交模式
a) 直接模式
在此模式下,如果索引失败,则先前提交的文档将可用。
b) 两阶段模式
在这种模式下,如果索引失败,一切都会回滚到初始状态。
在这种模式下,Solr 创建一个额外的核心作为临时核心,仅用于索引,一旦索引成功,它将与原始核心交换。
因此,如果索引失败,原始核心将是安全的。
之所以称为两阶段模式,主要是因为它在索引时涉及2 个 Solr 内核。
初始核心作为备份保留,另一个核心作为副本创建,
将在此副本上执行索引,如果索引成功,稍后将与原始核心交换。
2)更新索引:
在这个策略中,只有那些在给定时间内被修改的文档才会被索引,其他被索引的文档保持原样。如果需要, 可以经常执行此操作,因为与完整索引策略相比,它消耗的时间更少
3)删除索引:
此策略用于完全删除索引文档。
应该定期执行此操作以保持索引数据的一致性,因为我们可能在 Solr 中长期存在不需要的索引数据。
众所周知,通过impex 执行是最好的方法,因为它可以在所有环境(DEV、TEST、PROD)中持续很长时间并且可重用,
我们只需要相应地在impex文件中定义Solr 配置即可。
产品项目类型的索引已由 Hybris 开箱即用。
因此,如果我们向Product项目类型添加任何新属性,并且我们希望对这些新属性进行索引,那么我们需要在solr impex文件中添加这些新属性。
我们可以在solr impex文件中定义查询以从hybris DB获取数据以进行索引,我们还需要在Solr impex文件中定义字段描述。
Hybris 的优点在于,它已经提供了用于执行完整索引、更新索引和删除索引的cron 作业。
我们在 SAP Hybris Backoffice 里查看每个 site 对应的 index:
每种索引可以分配 catalog,货币和语言:
索引类型:
其中 update cronjob 被调度成每隔 1 分钟执行一次,以确保 index 和 DB 数据始终保持一致。
更多Jerry的原创文章,尽在:“汪子熙”:
SAP Commerce Cloud 里的 Solr 架构简介相关推荐
- SAP Commerce Cloud 里的 Media 概念简述
SAP Commerce 中的媒体项目不是物理文件,而是对该文件的引用. SAP Commerce 中的媒体项是一个容器对象,其中包含对文件的引用. 也就是说,SAP Commerce 中的媒体项不是 ...
- SAP Commerce Cloud 里的 User 模型和 Restriction 的关系
SAP Hybris 的 MENU item 可以被分配一个叫做 User Group restriction 的属性. 如果一个用户属于一个特殊的用户组,那么菜单项(menu item)应该是可见的 ...
- SAP Commerce Cloud 架构概述
SAP Commerce Cloud Architecture 尽管我们在"SAP Commerce Cloud 入门"一文中介绍了 SAP Commerce Cloud 的一些高 ...
- 什么是 SAP Commerce Cloud 的 catalog
hybris 的目录实际上是业务元素的集合.因此,Catalog 可以看作是商品的容器,这些产品在 SAP Commerce Cloud 里是可销售的实体(产品),最终用户可以针对这些实体进行交易. ...
- SAP Commerce Cloud 概述
原文标题:Getting Started with SAP Commerce Cloud 英文版地址:https://www.sap.com/cxworks/article/433893880/get ...
- SAP 产品一脉相承的 UI 增强思路,在 SAP Commerce Cloud(电商云) UI 增强实现中的体现
本文首先快速回顾几种 SAP 产品中的 UI 增强思路,然后具体介绍该思路是如何在 SAP Commerce Cloud(电商云) UI 增强中贯彻实施的. Jerry 之前的文章:Jerry 在 2 ...
- SAP Commerce Cloud B2B Organization 功能简介
Spartacus B2B Commerce Organization 允许公司管理通过 Spartacus 商务网站进行的采购. 可以将公司的采购经理设置为商业组织的管理员. 管理员可以创建代表组织 ...
- SAP Commerce Cloud SmartEdit 学习笔记
官方文档 SmartEdit 是一个可插拔的 JavaScript 框架,附带一个 UI,使开发人员能够管理现有的网页. SmartEdit 生态系统由共同提供 SmartEdit 产品的 modul ...
- SAP Commerce Cloud,通过 ycommercewebservices OCC APIs 进行结账的一个技术限制
原文:SAP Commerce Cloud, single-page checkout via ycommercewebservices OCC APIs v2 您是在公共基础设施中使用 SAP Co ...
最新文章
- 云数据中心异构资源管理大有可为
- boost的chrono模块操作时钟对象的测试程序
- Spark记录-Scala数据类型
- oracle什么时候用in,Oracle Study之---Oracle IN和NOT IN的使用
- Delphi WebService 的编写、调试、发布(IIS)、调用
- 比较标签 php,比较标签 · ThinkPHP5.0完全开发手册 · 看云
- mysql进程删除文件_完全卸载mysql 停止服务、卸载相关程序、删除注册表
- ArcGIS API 4.x 加载高德底图
- gnome 3 初见
- 如何录屏?电脑屏幕录制软件哪个好?
- Lattice开发工具 diamond总结
- webstrom免安装版
- 很抱歉,你不涨工资,正是因为你“太努力”!
- iPhone自动设置工作日和节假日闹钟
- html svg波浪,CSS3+SVG 实现波浪滚动效果
- jdk1.8的安装教程
- MySQL 和 Oracle 大数据量分页查询方法及其优化
- matlab绿色 不伤眼,蓝光和超清哪个伤眼睛 伤害都很低不用过多担心
- 压力测试时CPU、内存—初步理解
- 实战QT数据采集与显示
热门文章
- php 判断当前栏目高亮,Phpcms V9采用if语句判断当前栏目高亮、判断分类信息是否过期...
- Coding and Paper Letter(三十九)
- Azure系列2.1.13 —— CloudBlockBlob
- Zurmo - - 全局配置
- 你知道到底什么是Unikernel吗
- 转: java web demo的示例
- There is insufficient system memory to run this query 错误
- 解决VS2012 Express的There was a problem sending the command to the program问题
- extern “C”
- 站长手记20100920部署更新