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 <anujshahw...@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 <erickerick...@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 <anujshahw...@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 <
> erickerick...@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 <anujshahw...@gmail.com>
> > > wrote:
> > > >
> > > > > Hi,
> > > > >
> > > > > Is there a way to get all the fields involved in a query?
> > > > >
> > > > > Thanks
> > > > >
> > > > > Anuj
> > > > >
> > > >
> > >
> >
>

Reply via email to