根据Solr源码发现,solr对排序段Field是有要求的,主要有两点:
1 field必须是索引的field。
2 field不能是multivalued 多个值的。
代码如下:
Solr在获取排序field时,会调用SchemaField的这个方法:
public void checkSortability() throws SolrException {
if (! indexed() ) {
throw new SolrException(SolrException.ErrorCode.BAD_REQUEST,
"can not sort on unindexed field: "
+ getName());
}
if ( multiValued() ) {
throw new SolrException(SolrException.ErrorCode.BAD_REQUEST,
"can not sort on multivalued field: "
+ getName());
}
}
1 field必须是索引的field。
2 field不能是multivalued 多个值的。
代码如下:
Solr在获取排序field时,会调用SchemaField的这个方法:
public void checkSortability() throws SolrException {
if (! indexed() ) {
throw new SolrException(SolrException.ErrorCode.BAD_REQUEST,
"can not sort on unindexed field: "
+ getName());
}
if ( multiValued() ) {
throw new SolrException(SolrException.ErrorCode.BAD_REQUEST,
"can not sort on multivalued field: "
+ getName());
}
}