web-dev-qa-db-fra.com

Comment trier par date dans SOLR?

Je veux trier les résultats et les scores qui reviennent de la recherche SOLR, comment je peux obtenir des scores en fonction de la date comme ci-dessous:

Suppose for keywords "football"
  12-10-2012 - 3.2
  13-10-2012 - 1.5

Ma date solr a été déposée comme ci-dessous:

  <field name="published_date" datetimeformat="dd-MM-yyyy"  type="date" indexed="true" stored="true"/>

J'ai vérifié ceci docs mais je n'ai pas pu le trouver.

Merci.

14
user1289853

Vous pouvez passer le paramètre sort dans l'URL

par exemple. sort=published_date desc pour les documents par date de publication dans l'ordre décroissant.

Si vous souhaitez trier par score et par date, vous pouvez utiliser sort=score desc, published_date desc

32
Jayendra

tiré de le wiki

Although not technically a Syntax difference, please note that if you use 
the Solr "DateField" type, any queries on those fields (typically range queries) 
should use either the Complete ISO 8601 Date syntax that field supports, 
or the DateMath Syntax to get
relative dates. Examples:

timestamp:[* TO NOW]

createdate:[1976-03-06T23:59:59.999Z TO *]

createdate:[1995-12-31T23:59:59.999Z TO 2007-03-06T00:00:00Z]

pubdate:[NOW-1YEAR/DAY TO NOW/DAY+1DAY]

createdate:[1976-03-06T23:59:59.999Z TO 1976-03-06T23:59:59.999Z+1YEAR]

createdate:[1976-03-06T23:59:59.999Z/YEAR TO 1976-03-06T23:59:59.999Z] 

NOTE:TO must be uppercase, or Solr will report a 'Range Goop' error. 

combinez cela avec this et le travail est fait :) c'est assez facile, cela nécessite juste quelques essais au début

une petite modification: cette méthode vous permet de récupérer des valeurs basées sur une plage de dates et de leur appliquer un boost de score en fonction de leurs valeurs. apparemment, vous demandiez de l'aide sur la façon de récupérer le tri sur le score de base et la date, donc ma réponse n'est pas la bonne à 100%

1
Samuele Mattiuzzo