2017-12-19 5 views
0

Ich habe ein Feld in Solr genannt date, und der Typ ist: pdate, mit dem nächsten Format: 2017-12-19T06:45:00Z.Wie sortiere ich das Datumsfeld in Solr?

Dann, wenn ich eine Abfrage mit der ASC Art realisieren erhalte ich diesen Fehler von solr:

unerwarteten docvalues ​​geben SORTED_NUMERIC für das Feld ‚Datum‘ (erwartet = Numerisch)

ich versucht habe, Ändern Sie den Typ und alle Parameter, um es zu lösen, aber nichts funktioniert.

Jemand hat eine Idee?

Vielen Dank!

+0

Haben Sie indexiert nach Ändern des Typs/Upgrade Solr? – MatsLindh

Antwort

0

Sie können erreichen, indem Sie in der Datei config.xml das Feld für den Datumstyp definieren.

<field name="publishedon" type="date" multiValued="false" indexed="true" stored="true" docValues="true"/> 

Dann können Sie wie folgt auf dieser definierten Feldsortierung gelten:

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; 
}