lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Patrick Diviacco <patrick.divia...@gmail.com>
Subject Re: Am I correctly parsing the strings ? Terms or Phrases ?
Date Wed, 23 Mar 2011 07:34:14 GMT
ups, I've just used toString as you suggested and this is what I got:

*.*:*.* title:Flickrmeetup_01 description:Michael description:R.
description:Ross tags:rochester tags:ny tags:usa tags:flickrmeetup
tags:king76 tags:eos350d tags:canon50mmf14 tags:mikros tags:canon tags:ef
tags:50mm tags:f14 tags:usm tags:canonef50mmf14 tags:canonef50mmf14usm

I can see the tags field repeated multiple times, so it seems to me
correctly parsed... correct ?



On 23 March 2011 07:50, Patrick Diviacco <patrick.diviacco@gmail.com> wrote:

> Your answer is quite clear, but my question is a bit more specific:
> as you seen from my snippet ( I copy it here again), I'm already using
> BooleanQuery and QueryParser.parse method.
>
> booleanQuery.add(new QueryParser(org.apache.lucene.util.Version.LUCENE_40,
> "tags", new
> WhitespaceAnalyzer(org.apache.lucene.util.Version.LUCENE_40)).parse(phrase[i]);
>   , BooleanClause.Occur.SHOULD);
>
> I'm however wondering if this is correct way to pass single terms to
> booleanQuery.
>
> QueryParser.parse method returns a SrndQuery object, which I directly
> passing to booleanQuery.add.
>
> Not sure if this is correct. Should I extract single terms instead from
> SrndQuery... or something like that, and invoke booleanQuery.add several
> times ?
>
> thanks
>
>
>
>
>
> On 22 March 2011 14:27, Erick Erickson <erickerickson@gmail.com> wrote:
>
>> A good habit to develop is to print out the toString() of the assembled
>> queries, that'll get you going pretty quickly understanding what the
>> query assembly is all about without having to wait for people to respond.
>>
>> But the short form is that phrase queries require all the terms to be
>> adjacent, which may be what you want but may not.
>>
>> BooleanQuery is just asking for all the terms. You should probably
>> normalize them.
>>
>> Parsing is something like
>> Query query = QueryParser.parse("your text here");
>> and the returned query is what you pass to the searcher. This latter
>> will apply the analysis chains to your input and is probably perferred.
>>
>> Best
>> Erick
>>
>> On Tue, Mar 22, 2011 at 3:41 AM, Patrick Diviacco
>> <patrick.diviacco@gmail.com> wrote:
>> > OK, so I'm currently doing this:
>> >
>> > booleanQuery.add(new
>> QueryParser(org.apache.lucene.util.Version.LUCENE_40,
>> > "tags", new
>> >
>> WhitespaceAnalyzer(org.apache.lucene.util.Version.LUCENE_40)).parse(phrase[i]);
>> >  , BooleanClause.Occur.SHOULD);
>> >
>> > I just want to add single terms to my booleanQuery. if I pass a query to
>> the
>> > add method, am I considering the single terms ?
>> >
>> > thanks
>> >
>> >
>> >
>> > On 21 March 2011 22:15, Ahmet Arslan <iorixxx@yahoo.com> wrote:
>> >
>> >> > Date: Monday, March 21, 2011, 7:39 PM
>> >> > One more thing: It is actually not
>> >> > clear to me how to use PhraseQuery... I
>> >> > thought I can just pass a phrase to it, but I see only
>> >> > add(Term) method...
>> >> > should I parse the string by myself to single terms ?
>> >>
>> >> Yes, you need to do it.
>> >>
>> >> QueryParser transforms String into Query.
>> >>
>> >>
>> >>
>> http://lucene.apache.org/java/2_9_3/api/core/org/apache/lucene/queryParser/QueryParser.html
>> >>
>> >>
>> >>
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>> >> For additional commands, e-mail: java-user-help@lucene.apache.org
>> >>
>> >>
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>
>>
>

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