lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Hostetter <>
Subject Re: Technology Preview of new Lucene QueryParser
Date Thu, 11 Jan 2007 22:09:54 GMT

: > so do you convert A ! B ! C into a three clause boolean query, or a two
: > clause BooleanQuery that contains another two clause BooleanQuery?
: >
: It becomes a three clause boolean query...would there be a difference in
: scoring? I assumed not and it used to make a boolean that contained
: another boolean...these days it checks to see if its in a chain of the
: same operator and makes only one boolean.

there is in fact a difference in score ... a big difference depending
on how the coordFactor comes into play.  your three-clause approach makes
sense to me as the "right" approach, but your "in a chain of the same
operator" comment scares me ... how does "A | B | C ! D ! E" get parsed?
I would assume it should result in the QueryParser equivilent of
"A B C -D -E" ... is there any way to produce a the same underlying
BooleanQuery using your syntax?

: Just a boolean right now. I will have to look at DisjuntionMaxQuery.
: Currently its just a boolean: +field1:foo +field2:foo

hmmm... so field1,field2(foo) requires that foo match on both field1 and
field2, even if you've used it in this context...

                fieldX(bar) | field1,field2(foo) seems like a shortcut for "match on foo in ANY of the following
fields" would be needed in more cases then a shortfut for "match on foo in
ALL of the following fields"

: > incidently: what was there a motivating factor behind the mixed use of
: > both ~ and : to denote slop?
: >
: ':' is for slop on a phrase query. "the car is burning so get out":2
: will allow for each word to be within 2.
: '~' is a binary operator...mark ~4 postman...or say: (mark ~5 (horse &
: car) ~6 tom brady | "hard knocks dude":3) ~6 garbage
: Phrase slop could be specified with the '~' op too: the ~2 car ~2 is
: ~burning ~2 so ~2 get ~2 out : but that is a pain in the butt.

you kind of lost me there ... i get that ~ is a binary operator, but in
both cases the intent is to say "these words must appear near eachother"
...s oi'm wondering why you cose to use "hard knocks dude":3 instead of
"hard knocks dude"~3 .... oh wiat, i think i get it ... was it to
eliminate ambiguity of something like ("hard knocks dude" ~3 foo) ...
is the whitespace arround binary operators optional?


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message