Solrj Datum-Zeitzone

Benutze ich apache solr 4, ich bin neu in Solr ich Abfragen möchten zwischen zwei Terminen, aber ich habe ein problem mit der Zeitzone: Wenn ich Abfragen will eines Tages bekomme ich einen Tag vor diesem Tag.

String urlString = "http://localhost:8983/solr"; 
SolrServer solr = new CommonsHttpSolrServer(urlString);
QueryResponse rsp = solr.query(  new SolrQuery("last_modified:[2013-01-03T00:00:00Z TO 2013-01-05T23:59:59Z]") );
SolrDocumentList docs = rsp.getResults();
for(int i=0;i<docs.getNumFound() ; i++) {
    System.out.println (docs.get(i).getFieldValue("id"));
}

Ich gesucht, und gefunden habe ich eine Empfehlung:

schreiben +00:00 anstelle von Z verwendet . Zum Beispiel, 2002-10-10T12:00:00+05:00 ist 2002-10-10T07:00:00Z

Aber wenn ich das mache, bekomme ich die exception:

QueryResponse rsp = solr.query( new SolrQuery("last_modified:[2013-01-03T00:00:00+04:00 TO 2013-01-05T23:59:59+04:00]") );

Was kann ich tun, um das problem zu lösen?

  • Nach Ihren SolrQuery Datumsbereich, Sie Abfragen, für 3 volle Tage im Wert von Daten - von 3. Januar 12 bis Januar 5 11:59PM, ist, dass das, was Sie beabsichtigen? Ihre Frage besagt, dass "Wenn ich Abfragen will one day". Wenn Sie wirklich nur wollen, um eine Abfrage nach nur einem Tag, wie dem 5. Januar, dann ändern Sie es zu last_modified:[2013-01-05T00:00:00Z TO 2013-01-05T23:59:59Z]
  • wenn ich Schreibe, wie dieser last_modified:[2013-01-05T00:00:00Z ZU 2013-01-05T23:59:59Z] ich bekomme Jan 6 ;
  • wenn ich Schreibe, wie dieser last_modified:[2013-01-04T20:00:00Z ZU 2013-01-05T19:59:59Z] ich bekomme Jan 5; ich denke , es ist, weil ich für live +4Stunden Zeitzone, ist es nicht?
InformationsquelleAutor user527 | 2013-01-07
Schreibe einen Kommentar