2017-12-19 21 views
0

私はdateと呼ばれるフィールドをSolrに持っています。タイプはpdateで、次のフォーマットは2017-12-19T06:45:00Zです。私は、並べ替えを使用してクエリを実現する際Solrで日付フィールドをソートする方法は?

はその後ASC私はSolrのからこのエラーが表示されます。

予想外docvaluesは、私が試してみました(= NUM​​ERIC予想)フィールド「日付」

ためSORTED_NUMERICを入力しますタイプとそれを解決するためのすべてのパラメータを変更するが、何も動作しません。

誰かご存知ですか?

ありがとうございました!

+0

あなたはSolrのアップグレード/タイプを変更した後、インデックスを再作成しましたか? – MatsLindh

答えて

0

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; 
} 
関連する問題