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 架构简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 鸿蒙 3.0 正式版,华为 nova 4
- 下一篇: 使用 Recipe 安装 SAP Com