如何在Solr中对日期字段进行排序?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Solr中对日期字段进行排序?相关的知识,希望对你有一定的参考价值。
我在Solr有一个名为date
的字段,类型为:pdate
,格式为:2017-12-19T06:45:00Z
。
然后,当我实现ASC
排序的查询时,我从solr收到此错误:
意外的docvalues为字段'date'键入SORTED_NUMERIC(expected = NUMERIC)
我试图改变类型和所有参数来解决它,但没有任何作用。
有人有什么想法吗?
谢谢!
答案
您可以通过在config.xml文件中定义日期类型字段来实现。
<field name="publishedon" type="date" multiValued="false" indexed="true" stored="true" docValues="true"/>
然后你可以在这个定义的字段上应用排序,如下所示:
public Page<Article> getArticles(final String querySolr, final Pageable page) {
Query querySolrObj = new SimpleQuery(querySolr);
Sort publishedOnSorting = new Sort(Direction.ASC, "publishedon");
querySolrObj.addSort(publishedOnSorting);
querySolrObj.setPageRequest(page);
Page<ArticleSE> result = executeNativeQuery(querySolrObj);
return result;
}
以上是关于如何在Solr中对日期字段进行排序?的主要内容,如果未能解决你的问题,请参考以下文章