2013-09-27 5 views
0

Je dois créer une page de recherche ezfind avec des fonctions de date. Pour le filtre SOLR, j'ai essayé d'utiliser quelque chose comme ceci: attr_publish_date_dt: [MAINTENANT-6MONTH TO NOW] mais je n'obtiens aucun résultat. Si je l'utilise de cette façon attr_publish_date_dt: [* TO NOW], cela fonctionne. Mais toutes les requêtes sans astérisque sur la main gauche ne fonctionnent pas. Attr_publish_date_dt contient un horodatage unix, j'ai donc essayé d'utiliser 2 horodatages du résultat attr_publish_date_dt: [* TO NOW], au lieu de [MAINTENANT-6MONTH TO NOW], mais je n'ai pas non plus de résultat.SOLR Plage de dates

Quelqu'un peut-il m'aider s'il vous plaît? Merci d'avance Frank

+0

Quelle est la version solr? Utilisez-vous TrieDateField? '[NOW-6MONTH TO NOW]' fonctionne correctement pour moi dans solr 4.2.1 avec la définition du champ de date '' – arun

+0

nous utilisons SOLR 2.2, parce que la version de publication électronique que nous utilisons, ne supporte pas une version plus élevée de SOLR. – DeeFour

Répondre

0

Les recherches de date sont supportées dans un champ de date. Vous devrez définir un champ de ce type et soumettre des dates au format ISO-8601.

http://lucene.apache.org/solr/4_4_0/solr-core/org/apache/solr/schema/DateField.html

Si vous ne pouvez pas formater correctement l'horodatage avant de l'envoyer à Solr, vous pourrez peut-être utiliser un DateFormatTransformer ou un ScriptTransformer pour faire le travail.

http://wiki.apache.org/solr/DataImportHandler#DateFormatTransformer http://wiki.apache.org/solr/DataImportHandler#ScriptTransformer

+0

merci pour votre réponse, nous allons vérifier nos scripts d'importation pour résoudre le problème. – DeeFour