> Hello All,
>             I have observed
> extractTerms() in the class
> org.apache.lucene.search.Query which returns set of terms
> extracted
> from user input query. Is there any chance of getting the
> connecting-operator between all those terms. for example..
> Term1 OR
> Term2 AND Term3 ..    or  Term1 AND Term2
> AND Term3 , etc..
> Thanks.

You can extract org.apache.lucene.search.BooleanClause from BooleanQuery. 
Something like: 


 if (contents instanceof BooleanQuery) {

BooleanQuery bq = (BooleanQuery) contents;
BooleanClause[] bclauses = bq.getClauses();
          
            for (int i = 0; i < bclauses.length; i++) {
                
                Query qc = bclauses[i].getQuery();
               
                
                if 
(bclauses[i].getOccur().equals(BooleanClause.Occur.MUST_NOT)) {
                 // NOT
                    
                }
                else if 
(bclauses[i].getOccur().equals(BooleanClause.Occur.MUST)) {
                // AND
                    
                }
                else if 
(bclauses[i].getOccur().equals(BooleanClause.Occur.SHOULD)) {
                // OR
                    
                }
           }
} 

Hope this helps.




---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to