The "1336867200000" is a timestamp, yes.
TermRangeQuery nq1 = new TermRangeQuery("publish_date", "1299628800000", "1336867200000", true, true); TermRangeQuery nq1 = new TermRangeQuery("publish_date", "1299628800", "1336867200", true, true); TermRangeQuery nq1 = new TermRangeQuery("publish_date", "2012-09-10T00:00:00Z", "2012-10-10T00:00:00Z", true, true); TermRangeQuery nq1 = new TermRangeQuery("publish_date", "20120910", "20121010", true, true); Above ones won't work because you are using string parameter for numeric data.
NumericRangeQuery nq1 = NumericRangeQuery.newLongRange("publish_date", 1299628800, 1336867200, true, true); This one wouldn't work because you didn't pad it with enough zeroes. 1299628800 stands for Fri Jan 16 02:00:28 GMT 1970.
If you have document(s) dated between 09/03/2011 and 13/05/2012, the following should work:
NumericRangeQuery nq1 = NumericRangeQuery.newLongRange("publish_date", 129962880000Read full article from Lucene Query on a DateField indexed by Solr - Stack Overflow
No comments:
Post a Comment