本事象は、並べ替え基準として使用されるフィールドの構成が「Field Map」に含まれていない場合に発生します。
事象が発生した場合、ログ ファイルに次のエラーが記録される可能性があります。
24172 2018:03:09 11:43:05 WARN Results endpoint exception Exception: System.NullReferenceException Message: Object reference not set to an instance of an object. Source: Sitecore.ContentSearch at Sitecore.ContentSearch.Utilities.QueryBuilder.ResolveFieldTypeByName(String fieldName, IProviderSearchContext context) at Sitecore.ContentSearch.Utilities.QueryBuilder.ApplySorting[T](IProviderSearchContext context, IQueryable`1 searchResultItems, IEnumerable`1 searchModels) at Sitecore.ContentSearch.Utilities.QueryBuilder.CreateQuery[T](IProviderSearchContext context, IEnumerable`1 searchStringModel, Item startLocationItem, IEnumerable`1 additionalContexts) at Sitecore.ContentSearch.Utilities.QueryBuilder.CreateQuery[T](IProviderSearchContext context, IEnumerable`1 searchStringModel) at Sitecore.XA.Foundation.Search.Services.SearchService.GetQuery(String query, String scope, String language, Coordinates center, String siteName, String& indexName) at Sitecore.XA.Feature.Search.Controllers.SearchController.GetResults(String v, String q, String s, String l, String g, String o, Int32 e, Int32 p, String sig, String site)
本事象を解決するには、並べ替えに使用するフィールドを「Field Map」に追加します。
例:
<fieldMap type="Sitecore.ContentSearch.SolrProvider.SolrFieldMap, Sitecore.ContentSearch.SolrProvider">
<fieldNames hint="raw:AddFieldByFieldName">
<field fieldName="criterion" returnType="string" />
...
</fieldNames>
...
</fieldMap>