大多数电子商务网站都在其网站上提供搜索功能,尤其是用于搜索产品详细信息。

产品是任何电子商务网站中的主要搜索数据。

由于 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 种索引策略

  1. 全索引

2)更新索引

  1. 删除索引

  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 架构简介相关推荐

  1. SAP Commerce Cloud 里的 Media 概念简述

    SAP Commerce 中的媒体项目不是物理文件,而是对该文件的引用. SAP Commerce 中的媒体项是一个容器对象,其中包含对文件的引用. 也就是说,SAP Commerce 中的媒体项不是 ...

  2. SAP Commerce Cloud 里的 User 模型和 Restriction 的关系

    SAP Hybris 的 MENU item 可以被分配一个叫做 User Group restriction 的属性. 如果一个用户属于一个特殊的用户组,那么菜单项(menu item)应该是可见的 ...

  3. SAP Commerce Cloud 架构概述

    SAP Commerce Cloud Architecture 尽管我们在"SAP Commerce Cloud 入门"一文中介绍了 SAP Commerce Cloud 的一些高 ...

  4. 什么是 SAP Commerce Cloud 的 catalog

    hybris 的目录实际上是业务元素的集合.因此,Catalog 可以看作是商品的容器,这些产品在 SAP Commerce Cloud 里是可销售的实体(产品),最终用户可以针对这些实体进行交易. ...

  5. SAP Commerce Cloud 概述

    原文标题:Getting Started with SAP Commerce Cloud 英文版地址:https://www.sap.com/cxworks/article/433893880/get ...

  6. SAP 产品一脉相承的 UI 增强思路,在 SAP Commerce Cloud(电商云) UI 增强实现中的体现

    本文首先快速回顾几种 SAP 产品中的 UI 增强思路,然后具体介绍该思路是如何在 SAP Commerce Cloud(电商云) UI 增强中贯彻实施的. Jerry 之前的文章:Jerry 在 2 ...

  7. SAP Commerce Cloud B2B Organization 功能简介

    Spartacus B2B Commerce Organization 允许公司管理通过 Spartacus 商务网站进行的采购. 可以将公司的采购经理设置为商业组织的管理员. 管理员可以创建代表组织 ...

  8. SAP Commerce Cloud SmartEdit 学习笔记

    官方文档 SmartEdit 是一个可插拔的 JavaScript 框架,附带一个 UI,使开发人员能够管理现有的网页. SmartEdit 生态系统由共同提供 SmartEdit 产品的 modul ...

  9. SAP Commerce Cloud,通过 ycommercewebservices OCC APIs 进行结账的一个技术限制

    原文:SAP Commerce Cloud, single-page checkout via ycommercewebservices OCC APIs v2 您是在公共基础设施中使用 SAP Co ...

最新文章

  1. 云数据中心异构资源管理大有可为
  2. boost的chrono模块操作时钟对象的测试程序
  3. Spark记录-Scala数据类型
  4. oracle什么时候用in,Oracle Study之---Oracle IN和NOT IN的使用
  5. Delphi WebService 的编写、调试、发布(IIS)、调用
  6. 比较标签 php,比较标签 · ThinkPHP5.0完全开发手册 · 看云
  7. mysql进程删除文件_完全卸载mysql 停止服务、卸载相关程序、删除注册表
  8. ArcGIS API 4.x 加载高德底图
  9. gnome 3 初见
  10. 如何录屏?电脑屏幕录制软件哪个好?
  11. Lattice开发工具 diamond总结
  12. webstrom免安装版
  13. 很抱歉,你不涨工资,正是因为你“太努力”!
  14. iPhone自动设置工作日和节假日闹钟
  15. html svg波浪,CSS3+SVG 实现波浪滚动效果
  16. jdk1.8的安装教程
  17. MySQL 和 Oracle 大数据量分页查询方法及其优化
  18. matlab绿色 不伤眼,蓝光和超清哪个伤眼睛 伤害都很低不用过多担心
  19. 压力测试时CPU、内存—初步理解
  20. 实战QT数据采集与显示

热门文章

  1. php 判断当前栏目高亮,Phpcms V9采用if语句判断当前栏目高亮、判断分类信息是否过期...
  2. Coding and Paper Letter(三十九)
  3. Azure系列2.1.13 —— CloudBlockBlob
  4. Zurmo - - 全局配置
  5. 你知道到底什么是Unikernel吗
  6. 转: java web demo的示例
  7. There is insufficient system memory to run this query 错误
  8. 解决VS2012 Express的There was a problem sending the command to the program问题
  9. extern “C”
  10. 站长手记20100920部署更新