I am not very sure if you are talking about a bit complex boolean queries.
According stardard boolean logic, complex if-else would be normalized by
using union, intersection, not.

you omited some of your logic, lets assume it as:
if( FieldA == myval1) {
   if(FieldB == 1){
       don't return the document;
   } else {
       return the document;
   }
}else if(FieldA  == myval2) {
 if(FieldC == 1){
       don't return the document;
   } else {
       return the document;
   }
}else if(FieldA == myval3) {
  if(FieldD == 1){
       don't return the document;
   } else {
       return the document;
   }
}

then you would use a boolean query as:
(FieldA:myval1 -FieldB:1) OR (FieldA:myval2 -FieldC:1) OR (FieldA:myval3
-FieldD:1)

see, this is a normalized boolean logic.
hope it helps.

2010/1/21 Noam G. <noam...@gmail.com>

>
> Hi Guys,
>
> I'll start by thanking every one for an amazing search engine!
>
> What am I trying to do? Basically what I need is the ability to do some
> kind
> of "switch" or an "if-else" flow based on the field value and a parameter
> that I will pass using the query string. The result will be documents that
> comply with this logic.
>
> For example (myval1, myval2 and myval3 are the params from the query
> string):
> if(index_value == myval1) {
>    if(other_index_value == 1){
>        don't return the document;
>    } else {
>        return the document;
>    }
> }else if(index_value == myval2) {
> .......
> }else if(index_value == myval3) {
> .......
> }
>
> What should I override to implement this?
>
> Thank you very much,
>
> Noam.
> --
> View this message in context:
> http://old.nabble.com/Choosing-what-document-to-return.-tp27259310p27259310.html
> Sent from the Solr - User mailing list archive at Nabble.com.
>
>


-- 
梅旺生

Reply via email to