Thanks Martijn. I pulled your patch and it looks like what I was looking for. The original FacetField class has a getAsFilterQuery method which returns the criteria to use as an fq parameter, I have logic which does this in my class which works, any chance of getting something like this added to the patch as well?
public static class Numeric extends RangeFacet<Number, Number> { public Numeric(String name, Number start, Number end, Number gap) { super(name, start, end, gap); } public String getAsFilterQuery(){ Double end = this.start.doubleValue() + this.gap.doubleValue() - 1; return this.name + ":[" + this.start + " TO " + end + "]"); } } and for dates (there's a parse exception below which I am not doing anything with currently) public String getAsFilterQuery(){ RangeFacet.Date dateCount = (RangeFacet.Date)count.getRangeFacet(); DateMathParser parser = new DateMathParser(TimeZone.getDefault(), Locale.getDefault()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); parser.setNow(dateCount.getStart()); Date end = parser.parseMath(dateCount.getGap()); String startStr = sdf.format(dateCount.getStart()) + "Z"; String endStr = sdf.format(end) + "Z"; String label = startStr + " TO " + endStr; return facetField.getName() + ":[" + label + "]"); } On Fri, Jun 3, 2011 at 7:05 AM, Martijn v Groningen < martijn.is.h...@gmail.com> wrote: > Hi Jamie, > > I don't know why range facets didn't make it into SolrJ. But I've recently > opened an issue for this: > https://issues.apache.org/jira/browse/SOLR-2523 > > I hope this will be committed soon. Check the patch out and see if you like > it. > > Martijn > > On 2 June 2011 18:22, Jamie Johnson <jej2...@gmail.com> wrote: > > > Currently the range and date faceting in SolrJ acts a bit differently > than > > I > > would expect. Specifically, range facets aren't parsed at all and date > > facets end up generating filterQueries which don't have the range, just > the > > lower bound. Is there a reason why SolrJ doesn't support these? I have > > written some things on my end to handle these and generate filterQueries > > for > > date ranges of the form dateTime:[start TO end] and I have a function > > (which > > I copied from the date faceting) which parses the range facets, but would > > prefer not to have to maintain these myself. Is there a plan to > implement > > these? Also is there a plan to update FacetField to not have end be a > > date, > > perhaps making it a String like start so we can support date and range > > queries? > > > > > > -- > Met vriendelijke groet, > > Martijn van Groningen >