2009-06-11 3 views
0

Ma base de données Lucene/Solr contient une colonne de date (created_at) que j'ai besoin d'utiliser comme condition dans une requête.requête solr avec ruby ​​- nécessité de comparer l'heure

Je suis nouveau à RoR et suppose que RoR utilise automatiquement son propre objet de date sur anyObject.save, et que Solr réindexe à son tour cette colonne à sa manière.

Quelle que soit, la date est dans ce format: « 2008-06-03 11:15:20 »

Je peux écrire un analyseur rapide pour analyser ma chaîne de requête dans le format ci-dessus, mais quand je fais une recherche

Object.find (mot-clé: foo created_at> = '2008-06-03 11:15:20')

Solr renvoie une erreur d'analyse syntaxique. J'ai essayé plusieurs variantes standard à ce sujet sans succès. Aucune suggestion?

Répondre

2

Je déteste demander l'évidence, mais avez-vous vérifié les documents solr pour le langage de requête pour les dates?

http://wiki.apache.org/solr/SolrQuerySyntax

et l'expérience suggère que "> =" est pas un opérateur solr valide. Vous pouvez effectuer des requêtes de plage sur les champs de date, mais en utilisant le format correct avec votre exemple de requête serait:

Object.find("keyword:foo AND created_at:[2008-06-03T11:15:20.000Z TO *]") 
Questions connexes