Solr 8.11(在 SolrCloud 模式下)在使用排序参数查询时返回 500 错误
sort=field("RECORD_DATE") asc
。
错误信息是:
类 java.lang.String 无法转换为类 org.apache.lucene.util.BytesRef (java.lang.String 位于加载程序“bootstrap”的 java.base 模块中;org.apache.lucene.util.BytesRef 位于加载器的未命名模块 org.eclipse.jetty.webapp.WebAppClassLoader @7f69d591)
RECORD_DATE
是一个多值字段。使用 score
等“简单”字段进行排序时,我没有遇到任何问题。
奇怪的是,该错误只发生在多分片环境中。在单分片环境下,没有错误!
我无法可靠地进行
RECORD_DATE
排序工作。显然,即使使用单个分片 Solr,它也不能可靠地工作!
因此,我将排序字段从 RECORD_DATE
切换为 _version_
。
使用
_version_
的好处: