Unexpected boolean query behavior

2010-01-14 Thread markwaddle

Here is my query:
(virt* AND machine fingerprinting) OR (virt* AND encryption) OR (virt* AND
anonymous) OR (virt* AND analytic*) AND owned:true

It can be broken down to:
(A) OR (B) OR (C) OR (D) AND E

A, B, C and D are themselves AND boolean clauses.

The E clause at the end is not behaving the way I would expect. No matter
how I order the A,B,C and D clauses, it always returns the equivalent of
((D) AND E).

When I add additional parentheses it behaves the way I expect. Like:
((A) OR (B) OR (C) OR (D)) AND E
or
(A) OR (B) OR (C) OR ((D) AND E)

Can anyone explain why it behaves the way it does without the parentheses?
Is there something I am missing in the way it processes boolean clauses?

Thanks,
Mark
-- 
View this message in context: 
http://old.nabble.com/Unexpected-boolean-query-behavior-tp27166967p27166967.html
Sent from the Solr - User mailing list archive at Nabble.com.



Re: Unexpected boolean query behavior

2010-01-14 Thread Otis Gospodnetic
Mark,

Does it help if you rewrite your query using +/- syntax (required, 
prohibited), or nothing for should?  Because that's what happens under the 
hood (terms are required, prohibited, or should occur).


Otis
--
Sematext -- http://sematext.com/ -- Solr - Lucene - Nutch



- Original Message 
 From: markwaddle m...@markwaddle.com
 To: solr-user@lucene.apache.org
 Sent: Thu, January 14, 2010 2:39:21 PM
 Subject: Unexpected boolean query behavior
 
 
 Here is my query:
 (virt* AND machine fingerprinting) OR (virt* AND encryption) OR (virt* AND
 anonymous) OR (virt* AND analytic*) AND owned:true
 
 It can be broken down to:
 (A) OR (B) OR (C) OR (D) AND E
 
 A, B, C and D are themselves AND boolean clauses.
 
 The E clause at the end is not behaving the way I would expect. No matter
 how I order the A,B,C and D clauses, it always returns the equivalent of
 ((D) AND E).
 
 When I add additional parentheses it behaves the way I expect. Like:
 ((A) OR (B) OR (C) OR (D)) AND E
 or
 (A) OR (B) OR (C) OR ((D) AND E)
 
 Can anyone explain why it behaves the way it does without the parentheses?
 Is there something I am missing in the way it processes boolean clauses?
 
 Thanks,
 Mark
 -- 
 View this message in context: 
 http://old.nabble.com/Unexpected-boolean-query-behavior-tp27166967p27166967.html
 Sent from the Solr - User mailing list archive at Nabble.com.



Re: Unexpected boolean query behavior

2010-01-14 Thread markwaddle

That is a reasonable question. The problem here is that my users have already
created numerous queries just like this one, using ANDs and ORs. My users
are very technical and they have been using the results of these queries for
months now to perform analysis that drives business decisions. I need an
explanation for why this is happening so I can not only train them on how to
use it more effectively, but also to restore their trust in the search
application.

Does anyone understand this behavior? Or can you recommend a place for me to
look?


Otis Gospodnetic wrote:
 
 Mark,
 
 Does it help if you rewrite your query using +/- syntax (required,
 prohibited), or nothing for should?  Because that's what happens under
 the hood (terms are required, prohibited, or should occur).
 
 
 Otis
 --
 Sematext -- http://sematext.com/ -- Solr - Lucene - Nutch
 
 
 
 - Original Message 
 From: markwaddle m...@markwaddle.com
 To: solr-user@lucene.apache.org
 Sent: Thu, January 14, 2010 2:39:21 PM
 Subject: Unexpected boolean query behavior
 
 
 Here is my query:
 (virt* AND machine fingerprinting) OR (virt* AND encryption) OR (virt*
 AND
 anonymous) OR (virt* AND analytic*) AND owned:true
 
 It can be broken down to:
 (A) OR (B) OR (C) OR (D) AND E
 
 A, B, C and D are themselves AND boolean clauses.
 
 The E clause at the end is not behaving the way I would expect. No matter
 how I order the A,B,C and D clauses, it always returns the equivalent of
 ((D) AND E).
 
 When I add additional parentheses it behaves the way I expect. Like:
 ((A) OR (B) OR (C) OR (D)) AND E
 or
 (A) OR (B) OR (C) OR ((D) AND E)
 
 Can anyone explain why it behaves the way it does without the
 parentheses?
 Is there something I am missing in the way it processes boolean clauses?
 
 Thanks,
 Mark
 -- 
 View this message in context: 
 http://old.nabble.com/Unexpected-boolean-query-behavior-tp27166967p27166967.html
 Sent from the Solr - User mailing list archive at Nabble.com.
 
 
 

-- 
View this message in context: 
http://old.nabble.com/Unexpected-boolean-query-behavior-tp27166967p27167750.html
Sent from the Solr - User mailing list archive at Nabble.com.



Re: Unexpected boolean query behavior

2010-01-14 Thread Otis Gospodnetic
HI Mark,

Does this help?
http://wiki.apache.org/lucene-java/BooleanQuerySyntax

Otis
--
Sematext -- http://sematext.com/ -- Solr - Lucene - Nutch



- Original Message 
 From: markwaddle m...@markwaddle.com
 To: solr-user@lucene.apache.org
 Sent: Thu, January 14, 2010 3:38:34 PM
 Subject: Re: Unexpected boolean query behavior
 
 
 That is a reasonable question. The problem here is that my users have already
 created numerous queries just like this one, using ANDs and ORs. My users
 are very technical and they have been using the results of these queries for
 months now to perform analysis that drives business decisions. I need an
 explanation for why this is happening so I can not only train them on how to
 use it more effectively, but also to restore their trust in the search
 application.
 
 Does anyone understand this behavior? Or can you recommend a place for me to
 look?
 
 
 Otis Gospodnetic wrote:
  
  Mark,
  
  Does it help if you rewrite your query using +/- syntax (required,
  prohibited), or nothing for should?  Because that's what happens under
  the hood (terms are required, prohibited, or should occur).
  
  
  Otis
  --
  Sematext -- http://sematext.com/ -- Solr - Lucene - Nutch
  
  
  
  - Original Message 
  From: markwaddle 
  To: solr-user@lucene.apache.org
  Sent: Thu, January 14, 2010 2:39:21 PM
  Subject: Unexpected boolean query behavior
  
  
  Here is my query:
  (virt* AND machine fingerprinting) OR (virt* AND encryption) OR (virt*
  AND
  anonymous) OR (virt* AND analytic*) AND owned:true
  
  It can be broken down to:
  (A) OR (B) OR (C) OR (D) AND E
  
  A, B, C and D are themselves AND boolean clauses.
  
  The E clause at the end is not behaving the way I would expect. No matter
  how I order the A,B,C and D clauses, it always returns the equivalent of
  ((D) AND E).
  
  When I add additional parentheses it behaves the way I expect. Like:
  ((A) OR (B) OR (C) OR (D)) AND E
  or
  (A) OR (B) OR (C) OR ((D) AND E)
  
  Can anyone explain why it behaves the way it does without the
  parentheses?
  Is there something I am missing in the way it processes boolean clauses?
  
  Thanks,
  Mark
  -- 
  View this message in context: 
  
 http://old.nabble.com/Unexpected-boolean-query-behavior-tp27166967p27166967.html
  Sent from the Solr - User mailing list archive at Nabble.com.
  
  
  
 
 -- 
 View this message in context: 
 http://old.nabble.com/Unexpected-boolean-query-behavior-tp27166967p27167750.html
 Sent from the Solr - User mailing list archive at Nabble.com.



Re: Unexpected boolean query behavior

2010-01-14 Thread markwaddle

That explains my exact problem, thank you! May I ask how you found that wiki
posting?


Otis Gospodnetic wrote:
 
 HI Mark,
 
 Does this help?
 http://wiki.apache.org/lucene-java/BooleanQuerySyntax
 
 Otis
 --
 Sematext -- http://sematext.com/ -- Solr - Lucene - Nutch
 
-- 
View this message in context: 
http://old.nabble.com/Unexpected-boolean-query-behavior-tp27166967p27170172.html
Sent from the Solr - User mailing list archive at Nabble.com.



Re: Unexpected boolean query behavior

2010-01-14 Thread Lance Norskog
Try this:

http://www.lucidimagination.com/search/?q=boolean+query

On Thu, Jan 14, 2010 at 3:45 PM, markwaddle m...@markwaddle.com wrote:

 That explains my exact problem, thank you! May I ask how you found that wiki
 posting?


 Otis Gospodnetic wrote:

 HI Mark,

 Does this help?
 http://wiki.apache.org/lucene-java/BooleanQuerySyntax

 Otis
 --
 Sematext -- http://sematext.com/ -- Solr - Lucene - Nutch

 --
 View this message in context: 
 http://old.nabble.com/Unexpected-boolean-query-behavior-tp27166967p27170172.html
 Sent from the Solr - User mailing list archive at Nabble.com.





-- 
Lance Norskog
goks...@gmail.com