未針對AEM as a Cloud Service中的查詢選取SIM管理的索引
在Adobe Experience Manager as a Cloud Service中,簡化的索引管理(SIM)定義可以成功部署,而查詢會繼續使用先前的索引。 查詢規劃工具會根據查詢限制、索引屬性和估計成本來評估符合條件的索引。 若要修正此問題,請驗證部署和查詢計畫,使includedPaths、queryPaths和索引規則與查詢需求一致,透過Cloud Manager部署變更,並在索引完成之後驗證查詢。
說明 description
環境
Adobe Experience Manager as a Cloud Service搭配簡化的索引管理
問題/症狀
在您部署簡化的Index Management定義後,查詢會繼續使用先前的索引,而非預期的SIM管理索引。
- 查詢會繼續使用先前的索引(例如
cqPageLucene),而非預期的索引(例如cqPageContent)。 - SIM管理的索引會出現在存放庫中,但 查詢效能工具 並未針對相關查詢選取它。
- 索引定義包含
includedPaths和queryPaths,但查詢仍使用上一個索引。 - SIM管理的索引規則中未包含必要的查詢屬性。
- 記錄檔中未出現任何特定錯誤訊息。
原因
查詢供需規劃員會選取預估成本最低的合格索引。 如果SIM管理的索引未涵蓋查詢路徑或所需屬性,或其預估成本高於上一個索引,則查詢會繼續使用上一個索引。
解決方法 resolution
若要進行索引選取的疑難排解,請執行下列步驟:
-
在 查詢效能工具 中執行受影響的查詢,並檢閱[說明查詢]輸出。
- 確認查詢使用的索引。
- 確認查詢計畫是否考慮預定的SIM管理索引。
- 在更新索引定義之後,記錄查詢計畫與預估成本以進行比較。
-
確認SIM定義已正確部署。
- 確認SIM定義包含在專案程式碼基底中。
- 確認 Cloud Manager 管道已成功完成。
- 使用 存放庫瀏覽器 來驗證產生的索引定義(例如
/oak:index/<sim-index-name>)是否以預期的組態存在。
-
檢閱索引定義中的路徑設定。
- 確認
includedPaths涵蓋索引應包含的內容。 - 確認
queryPaths涵蓋查詢所使用的路徑限制。 - 當索引應包含並提供相同內容範圍的查詢時,請使用
includedPaths和queryPaths的相符值。 - 注意:
includedPaths控制索引的內容範圍,而queryPaths會影響索引是否適用於具有相符路徑限制的查詢。
- 確認
-
檢閱查詢所需的索引規則和屬性。
- 確認查詢使用的每個屬性都在適當的索引規則中編制索引。
- 當查詢使用屬性(例如
jcr:content/cq:lastModified、excludeSearch和hideFromExternalUser)時,檢查這些屬性。 - 如果缺少必要屬性,請將適當的索引規則新增到SIM定義中,並透過 Cloud Manager 管道將其重新部署。
-
透過標準 Cloud Manager 管道部署更新的索引定義。
- 將更新的索引定義封裝為專案程式碼基底的一部分。
- 執行管道並允許索引建立或重新索引過程完成。
- 在再次驗證查詢之前,請檢視Cloud Manager建置頁面上的索引狀態。
-
索引完成之後驗證查詢行為。
- 在 查詢效能工具 中重新執行受影響的查詢。
- 確認已在Explain Query輸出中選取預期的SIM管理索引。
- 測試高影響力查詢的代表性集合。
- 比較移轉前後的結果和排名,尤其是針對具有已提升欄位(例如標題、說明和內容)的查詢。
- 使用 查詢效能工具 來檢查效能回歸。
-
驗證新的SIM管理索引之後,從專案程式碼基底移除過時的索引定義。
- 請勿從儲存庫中手動刪除索引節點。
- 注意:在AEM as a Cloud Service準備新版本時,舊索引版本和新索引版本可以在滾動部署期間暫時共存。
附註:
- 建議將SIM卡用於頁面、DAM和稽核索引。 當現有的索引符合您的需求且仍受支援時,不強制進行移轉。
- 對於沒有自訂查詢路徑(例如
Audit Event或自訂Email Index)的索引,只有在您要將其查詢移轉至SIM卡時,才將其納入移轉設定。 - 當持續支援和未來相容性為需求時,將自訂索引移轉至SIM。
相關閱讀
recommendation-more-help
experience-cloud-kcs-help-kbarticles