[ https://issues.apache.org/jira/browse/LUCENE-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12506351 ]
Hoss Man commented on LUCENE-933: --------------------------------- > I feel comfortable with applying the logic we have for a single (stop)word on > a group of > (stop)words, i.e. making the added lines pass. +1 > Interestingly, consider this query: > A B +(+C -C) perhaps an alternate way to view this problem would be to ask: what should QueryParser do, if asked to parse this string... A B +() ...if the answer is "treat it like 'A B'" then i think we're okay with the approach you described above. if the answer is "an empty query doesn't match anything, so requiring a match on a clause which is an empty query should result in the outer query matching nothing" then we've got a problem ... mainly that it contradicts the example you cited from TestQueryParser.testQPA() if you replace "an empty query" in the previous statement with "a query on a stop word" personally, i think it's okay to say "A B +(+C -C)" == "A B" if the analyzer doesn't produce any tokens for C. > QueryParser can produce empty sub BooleanQueries when Analyzer proudces no > tokens for input > ------------------------------------------------------------------------------------------- > > Key: LUCENE-933 > URL: https://issues.apache.org/jira/browse/LUCENE-933 > Project: Lucene - Java > Issue Type: Bug > Reporter: Hoss Man > > as triggered by SOLR-261, if you have a query like this... > +foo:BBB +(yak:AAA baz:CCC) > ...where the analyzer produces no tokens for the "yak:AAA" or "baz:CCC" > portions of the query (posisbly because they are stop words) the resulting > query produced by the QueryParser will be... > +foo:BBB +() > ...that is a BooleanQuery with two required clauses, one of which is an empty > BooleanQuery with no clauses. > this does not appear to be "good" behavior. > In general, QueryParser should be smarter about what it does when parsing > encountering parens whose contents result in an empty BooleanQuery -- but > what exactly it should do in the following situations... > a) +foo:BBB +() > b) +foo:BBB () > c) +foo:BBB -() > ...is up for interpretation. I would think situation (b) clearly lends > itself to dropping the sub-BooleanQuery completely. situation (c) may also > lend itself to that solution, since semanticly it means "don't allow a match > on any queries in the empty set of queries". .... I have no idea what the > "right" thing to do for situation (a) is. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]