Small error, shouldn't be using this.start but should instead be using
Double.parseDouble(this.getValue());
and
sdf.parse(count.getValue());
respectfully.

On Mon, Jun 6, 2011 at 1:16 PM, Jamie Johnson <jej2...@gmail.com> wrote:

> 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
>>
>
>

Reply via email to