: Search we need to translate the Lucene style query into a more traditional : Boolean query. So this is the opposite of the much discussed Boolean Query : to Lucene Query conversion.
it should be possible to translate, but like many translations there will be a small loss of information, specificly: strict boolean queries have no notion of score, so hte concept of an "optional" clause has no meaning ... either it's there and you get a match, or it's not and you don't. You can translate to a query with an equivilent result set, but not one with equivilent semantic meaning, because the semantics don't apply (which also means you cannot have a reflexive translation except in trivial cases) : Lucene: +a +b -c -d e f ... : (a AND b NOT c NOT d) OR (a AND b NOT c NOT d AND (e OR f)) ... : (+a +b -c -d)(+a +b -c -d +(e f)) : : which I think is equivalent but not as concise! But I have not tested this the first and third are not equivilent .. mainly because they will in fact score differently. but that's not what you really care about -- what you realy care about is have you translated the first to the second correctly? i believe hte answer is "yes" with the caveat that it can be reduced to just the first clause of hte outermost OR query... (a AND b NOT c NOT d) ...anything mathcing the second clause of the outermost OR will match this, making the second clause redundent. you could likewise translate the lucene query to.... (a AND b NOT c NOT d) OR (a AND b NOT c NOT d AND a AND a AND a AND a) ...the point is they reduce to the same thing. as a general rule when converting lucene queries to strict boolean queries: any optional clauses in a BQ containing at least one required clause can be eliminated, the are irrlevent from a strict matching standpoint -- they only influence score. -Hoss --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]