lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erick Erickson <erickerick...@gmail.com>
Subject Re: Get fields from a Query object
Date Tue, 03 Aug 2010 20:49:45 GMT
Hmmmm. Assuming you called rewrite, I'm going to have to defer
that one, I'm not familiar enough with how range queries operate.

But what version of Lucene are you using?

Sorry I can't be more help
Erick

On Tue, Aug 3, 2010 at 5:02 AM, Anuj Shah <anujshahwork@gmail.com> wrote:

> Thanks, that does seem good in theory. I can get the field from each of the
> terms and add them to a Set to de-dupe.
>
> However, in practice queries of the following nature seems to fail with an
> UnsupportedOperationException:
> field:a*
> field:[a TO b]
>
> Delving into the code a bit I see the following in the Query class
>  /**
>   * Expert: adds all terms occurring in this query to the terms set. Only
>   * works if this query is in its {@link #rewrite rewritten} form.
>   *
>   * @throws UnsupportedOperationException if this query is not yet
> rewritten
>   */
>  public void extractTerms(Set<Term> terms) {
>    // needs to be implemented by query subclasses
>    throw new UnsupportedOperationException();
>  }
>
> Does this imply that some concrete Query classes have not overridden this
> method?
>
>
>
>
>
> On Mon, Aug 2, 2010 at 4:01 PM, Erick Erickson <erickerickson@gmail.com
> >wrote:
>
> > Did you look at Query.extractTerms? I think that'll work for you.
> > Note that the query must be rewritten, and that the set of terms will
> > have duplicate fields. i.e. if you search field1:Erick +field1:James
> > I expect you'll have two terms in the set that are on field1.
> >
> > Best
> > Erick
> >
> > On Mon, Aug 2, 2010 at 8:16 AM, Anuj Shah <anujshahwork@gmail.com>
> wrote:
> >
> > > My code has been given a query string, which we parse into the Query
> > object
> > > and would like to get a list of fields from.
> > >
> > > I'm assuming there exists a method to do so, as it seems like a useful
> > > function. If not should I be parsing the string for fields myself.
> > >
> > > Anuj
> > >
> > >
> > >
> > >
> > >
> > > On Sun, Aug 1, 2010 at 2:21 AM, Erick Erickson <
> erickerickson@gmail.com
> > > >wrote:
> > >
> > > > Could you explain more about what you're trying to do? You're writing
> > the
> > > > query
> > > > after all, so you probably already know what went into it.
> > > >
> > > > Which shows that I don't understand what you want to do at all.
> > > >
> > > > Best
> > > > Erick
> > > >
> > > > On Sat, Jul 31, 2010 at 9:41 AM, Anuj Shah <anujshahwork@gmail.com>
> > > wrote:
> > > >
> > > > > Hi,
> > > > >
> > > > > Is there a way to get all the fields involved in a query?
> > > > >
> > > > > Thanks
> > > > >
> > > > > Anuj
> > > > >
> > > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message