> Does the parser passes each term through a fresh analyzer and
> handle any number of terms returned from the analyzer for that term ?
Yes. Both single-word queries (foo) and phrase queries ("foo bar") are
treated the same way -- the words are piped through the analyzer,
and depending on how many tokens come back, it creates a PhraseQuery
or a TermQuery element, or no element at all. The clause-combining
logic doesn't get upset if no query element comes back at all.
> I remember that having somthing like '+strong +will' created an exception
> because
> 'will' was droped by the ProterStemer. Did you fix that ?
Yes
> What about the
> case were
> 'strong' is replaced by the anlyzer with 'strong' and 'tough' ? Will the
> parser convert
> it to '+( strong OR tough) +will' ?
If the analyzer converts 'strong' -> strong tough, and will -> null, then
the query /strong will/ will become (strong tough), and /+"strong will"/
will become (+"strong tough").
> Will the prefix query handle case differences ? That is, if the document
> was indexed with the lowercase filter and the prefix 'DO*' is used, will it
> match 'dogs' ?
Not as currently implemented, it appears. Which means, if a lower-case
tokenizer was used to index the entire index base, and the query /Foo*/
is specified, there will be no matches.
> Also, what if the document were indexed with
> PorterStemer, will 'dogs*' match 'dogs' ?
Same problem.
> > - You can't put a prefix term inside a phrase ("foo* bar")
>
> I think this is clear from the syntax.
Only if you know how to read syntax specifications. Not everyone who
is going to use the query parser does. Remember, the query parser is
aimed at users who don't know what the word 'syntax' means.
_______________________________________________
Lucene-dev mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/lucene-dev