Hi Jamie,  Just letting you know that I've added a comment to SOLR-2523. I
ran into a class dependency issue regarding MathDateParser.

Martijn
On 11 June 2011 16:04, Jamie Johnson <jej2...@gmail.com> wrote:

> Awesome Martjin, let me know when you have it comitted and I'll check out
> the latest version.  Again thanks!
>
> On Sat, Jun 11, 2011 at 8:15 AM, Martijn v Groningen <
> martijn.is.h...@gmail.com> wrote:
>
> > Hi James,
> >
> > Good idea! I'll add a getAsFilterQuery method to the patch.
> >
> > Martijn
> >
> > On 6 June 2011 19:32, Jamie Johnson <jej2...@gmail.com> wrote:
> >
> > > 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
> > > >>
> > > >
> > > >
> > >
> >
> >
> >
> > --
> >  Met vriendelijke groet,
> >
> > Martijn van Groningen
> >
>



-- 
Met vriendelijke groet,

Martijn van Groningen

Reply via email to