CDインスタンスで SXA 検索が動作しない


概要

CDインスタンスでSXAの検索操作が未処理の例外で失敗することがあります。このとき、ログには下記のようなメッセージが記録されます。

Exception: System.NullReferenceException
Message: Object reference not set to an instance of an object.
Source: Sitecore.ContentSearch
   at Sitecore.ContentSearch.Utilities.QueryBuilder.CreateQuery[T](IProviderSearchContext context, IEnumerable`1 searchStringModel)
   at Sitecore.XA.Foundation.Search.Services.SearchService.GetQuery(SearchQueryModel searchQueryModel, String& indexName)
   at Sitecore.XA.Feature.Search.Controllers.SearchController.GetResults(QueryModel model)

または、以下のようなメッセージの場合もあります。

Exception: System.ArgumentNullException
Message: Value cannot be null.
Parameter name: objectToSwitchTo
Source: Sitecore.Kernel
   at Sitecore.Diagnostics.Assert.ArgumentNotNull(Object argument, String argumentName)
   at Sitecore.Common.Switcher`2.Enter(TValue objectToSwitchTo)
   at Sitecore.XA.Foundation.Search.Services.SearchService.GetQuery(SearchQueryModel searchQueryModel, String& indexName)
   at Sitecore.XA.Feature.Search.Controllers.SearchController.GetResults(QueryModel model)

本問題は、shellサイトがSXA検索のコンテキスト サイトとして使用されているために発生します。

解決策

本問題を解決するには、影響を受けている製品バージョンと互換性のあるhotfixをダウンロードし、インストールしてください: