web-dev-qa-db-fra.com

Solr récupérant les plages de dates

Eh bien, je suis en train de coder certaines méthodes pour retourner des documents solr qui utilisent une plage de dates d'intervalle. Docs stocke les champs de date au format ISO 8601.

Une idée?

tHX

28
Lici

Consultez le wiki SOLR pour quelques documents et exemples:

horodatage: [* TO NOW]

créé le: [1976-03-06T23: 59: 59.999Z TO *]

créé le: [1995-12-31T23: 59: 59.999Z AU 2007-03-06T00: 00: 00Z]

date de publication: [MAINTENANT-1 AN/JOUR À MAINTENANT/JOUR + 1 JOUR]

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

créé le: [1976-03-06T23: 59: 59.999Z/AN JUSQU'AU 1976-03-06T23: 59: 59.999Z]

J'espère que cela vous aidera, David.

68
David Santamaria

Vous trouverez ici plus de détails sur les requêtes de plage

https://cwiki.Apache.org/confluence/display/solr/The+Standard+Query+Parser

Quelques exemples

1. Exact Matching: q= modify_date:"2012-07-06T9:23:43Z"
2. Less than: q= modify_date:{* TO 2012-07-06T9:23:43Z } 
3. More than: q= modify_date:{ 2012-07-06T9:23:43Z TO *}
4. Less or equal than: modify_date:[* TO 2012-07-06T9:23:43Z] 
5. More or equal than: modify_date:[ 2012-07-06T9:23:43Z TO *]

Les crochets [] indiquent une requête de plage inclusive qui correspond à des valeurs comprenant les bornes supérieure et inférieure.

Les accolades {} indiquent une requête de plage exclusive qui correspond aux valeurs entre les limites supérieure et inférieure, mais excluant les limites supérieure et inférieure elles-mêmes.

32
sandrozbinden

Supposons que votre champ dans le schéma soit Modified_Date, vous pouvez appliquer les requêtes de plage suivantes:

Modified_Date:[2015-04-20T07:49:00Z TO *]
Modified_Date:[2015-04-20T07:49:00Z TO 2015-05-
20T07:33:00Z]
Modified_Date:[2015-04-20T07:49:00Z TO NOW]
Modified_Date:[NOW-7DAY/DAY TO NOW]
Modified_Date:"2015-05-27T10:04:00Z"
Modified_Date:NOW
Modified_Date:NOW/DAY
Modified_Date:NOW/HOUR
Modified_Date:NOW-1YEAR
Modified_Date:NOW-2YEARS
Modified_Date:NOW-3HOURS-30MINUTES
Modified_Date:"2008-07-04T13:45:04Z/DAY"
Modified_Date:[* TO NOW]
Modified_Date://DAY
Modified_Date://HOUR
Modified_Date:[ * 2015-04-20T07:49:00Z ]
Modified_Date:[2015-04-20T07:49:00Z *]
3
Pooja Sutar