我用apache solr 4
,我是新人Solr
,我想在两个日期之间查询,但是我有一个关于时区的问题:如果我想查询一天,我会在这一天的前一天得到。
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"));
}
我搜索了一下,发现了一个建议:
写 +00:00 而不是 Z 。例如,2002-10-10T12:00:00+05:00 是 2002-10-10T07:00:00Z
但是当我这样做时,我得到了例外:
QueryResponse rsp = solr.query( new SolrQuery("last_modified:[2013-01-03T00:00:00+04:00 TO 2013-01-05T23:59:59+04:00]") );
我能做些什么来解决这个问题?