我在Solr中有一个名为date
的字段,类型为:pdate
,格式为:2017-12-19T06:45:00Z
。
然后当我意识到具有排序ASC
的查询时,我从solr收到此错误:
意外的docvalues为字段'date'键入SORTED_NUMERIC(预期= NUMERIC)
我试图改变类型和所有参数来解决它,但没有任何作用。
有人有任何想法吗?
谢谢!
答案 0 :(得分:1)
您可以通过在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;
}