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.
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
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%