Hi,
I'm experimenting with date range faceting, and would like to use different
gaps depending on how old the date is. But I am not sure on how to do that.
This is what I have tried, using the java API Solrj 4.0.0 and Solr 4.1.0:
solrQuery.addDateRangeFacet("scheduledate_start_tdate", date1, date2, "+1YEAR");
solrQuery.addDateRangeFacet("scheduledate_start_tdate", date3, date4,
"+1MONTH");
solrQuery.setFacetMinCount(1);
The first date interval is between 1990 and 2011, and the second interval is
2011 to 2014.
This results in this URL:
http://localhost:8080/solr/select?q=*:*&facet.range=scheduledate_start_tdate&facet.range=scheduledate_start_tdate&f.scheduledate_start_tdate.facet.range.start=1990-01-01T11%3A00%3A00.000Z&f.scheduledate_start_tdate.facet.range.start=2011-01-01T11%3A00%3A00.000Z&f.scheduledate_start_tdate.facet.range.end=2011-01-01T10%3A59%3A59.999Z&f.scheduledate_start_tdate.facet.range.end=2014-01-01T11%3A00%3A00.000Z&f.scheduledate_start_tdate.facet.range.gap=%2B1YEAR&f.scheduledate_start_tdate.facet.range.gap=%2B1MONTH&facet=true&facet.mincount=1&wt=xml&indent=true
And the response contains this:
<lst name="facet_ranges">
<lst name="scheduledate_start_tdate">
<lst name="counts">
<int name="2006-01-01T11:00:00Z">207</int>
<int name="2007-01-01T11:00:00Z">818</int>
<int name="2008-01-01T11:00:00Z">811</int>
<int name="2009-01-01T11:00:00Z">618</int>
<int name="2010-01-01T11:00:00Z">612</int>
</lst>
<str name="gap">+1YEAR</str>
<date name="start">1990-01-01T11:00:00Z</date>
<date name="end">2011-01-01T11:00:00Z</date>
</lst>
<lst name="scheduledate_start_tdate">
<lst name="counts">
<int name="2006-01-01T11:00:00Z">207</int>
<int name="2007-01-01T11:00:00Z">818</int>
<int name="2008-01-01T11:00:00Z">811</int>
<int name="2009-01-01T11:00:00Z">618</int>
<int name="2010-01-01T11:00:00Z">612</int>
</lst>
<str name="gap">+1YEAR</str>
<date name="start">1990-01-01T11:00:00Z</date>
<date name="end">2011-01-01T11:00:00Z</date>
</lst>
</lst>
Right away I notice that this is incorrect. The second facet range incorrectly
uses the same gap, start and end-values as the first one. Can someone
understand why? And is there a way to make this work?
Regards
/Jimi