SXA 9.3 facet value doesn't support Asian characters

Sitecore本身对于多语言的支持很好,SXA也是。但是在最近的项目(Sitecore 9.3 + Solr) 中发现SXA 9.3中无法使用非英语文字作为facet的值,但是搜索却没有问题。

经过分析,发现facet的值在使用之前会通过encodeFacetValue pipeline进行编码。所以暂时的解决方案是用自己的pipeline来替换掉Sitecore自带。

 public class DoNotEncodeFacetValue : Sitecore.XA.Foundation.Search.Pipelines.EncodeFacetValue.EncodeFacetValueProcessor
{
public override void Process(EncodeFacetValueArgs args)
{
//Do Nothing
}
}
<pipelines>
<encodeFacetValue>
<processor type="Search.Pipelines.DoNotEncodeFacetValue,Search" patch:instead="processor[@type='Sitecore.XA.Foundation.Search.Pipelines.EncodeFacetValue.EscapeValue, Sitecore.XA.Foundation.Search']" resolve="true" />
</encodeFacetValue>
</pipelines>

在Sitecore 9.3 + Solr上测试通过。其他环境未测试。