Index: /home/dnaber/workspace/LuceneSVN/src/java/org/apache/lucene/search/Query.java =================================================================== --- /home/dnaber/workspace/LuceneSVN/src/java/org/apache/lucene/search/Query.java (Revision 191360) +++ /home/dnaber/workspace/LuceneSVN/src/java/org/apache/lucene/search/Query.java (Arbeitskopie) @@ -108,12 +108,22 @@ * {@link #createWeight(Searcher)} implementation. */ public Query combine(Query[] queries) { - for (int i = 0; i < queries.length; i++) { - if (!this.equals(queries[i])) { - throw new IllegalArgumentException(); - } - } - return this; + boolean buildNewQuery = false; + for (int i = 0; i < queries.length; i++) { + if (!this.equals(queries[i])) { + buildNewQuery = true; + break; + } + } + if (buildNewQuery) { + BooleanQuery bQuery = new BooleanQuery(); + for (int i = 0; i < queries.length; i++) { + bQuery.add(queries[i], BooleanClause.Occur.SHOULD); + } + return bQuery; + } else { + return this; + } } /**