X-Git-Url: https://git.mdrn.pl/pylucene.git/blobdiff_plain/a2e61f0c04805cfcb8706176758d1283c7e3a55c..aaeed5504b982cf3545252ab528713250aa33eed:/lucene-java-3.4.0/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/surround/query/FieldsQuery.java diff --git a/lucene-java-3.4.0/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/surround/query/FieldsQuery.java b/lucene-java-3.4.0/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/surround/query/FieldsQuery.java deleted file mode 100644 index daea96d..0000000 --- a/lucene-java-3.4.0/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/surround/query/FieldsQuery.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.apache.lucene.queryParser.surround.query; -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import java.util.ArrayList; -import java.util.List; -import java.util.Iterator; - -import org.apache.lucene.search.Query; - -public class FieldsQuery extends SrndQuery { /* mostly untested */ - private SrndQuery q; - private List fieldNames; - private final char fieldOp; - private final String OrOperatorName = "OR"; /* for expanded queries, not normally visible */ - - public FieldsQuery(SrndQuery q, List fieldNames, char fieldOp) { - this.q = q; - this.fieldNames = fieldNames; - this.fieldOp = fieldOp; - } - - public FieldsQuery(SrndQuery q, String fieldName, char fieldOp) { - this.q = q; - fieldNames = new ArrayList(); - fieldNames.add(fieldName); - this.fieldOp = fieldOp; - } - - @Override - public boolean isFieldsSubQueryAcceptable() { - return false; - } - - public Query makeLuceneQueryNoBoost(BasicQueryFactory qf) { - if (fieldNames.size() == 1) { /* single field name: no new queries needed */ - return q.makeLuceneQueryFieldNoBoost(fieldNames.get(0), qf); - } else { /* OR query over the fields */ - List queries = new ArrayList(); - Iterator fni = getFieldNames().listIterator(); - SrndQuery qc; - while (fni.hasNext()) { - qc = (SrndQuery) q.clone(); - queries.add( new FieldsQuery( qc, fni.next(), fieldOp)); - } - OrQuery oq = new OrQuery(queries, - true /* infix OR for field names */, - OrOperatorName); - System.out.println(getClass().toString() + ", fields expanded: " + oq.toString()); /* needs testing */ - return oq.makeLuceneQueryField(null, qf); - } - } - - @Override - public Query makeLuceneQueryFieldNoBoost(String fieldName, BasicQueryFactory qf) { - return makeLuceneQueryNoBoost(qf); /* use this.fieldNames instead of fieldName */ - } - - - public List getFieldNames() {return fieldNames;} - - public char getFieldOperator() { return fieldOp;} - - @Override - public String toString() { - StringBuilder r = new StringBuilder(); - r.append("("); - fieldNamesToString(r); - r.append(q.toString()); - r.append(")"); - return r.toString(); - } - - protected void fieldNamesToString(StringBuilder r) { - Iterator fni = getFieldNames().listIterator(); - while (fni.hasNext()) { - r.append(fni.next()); - r.append(getFieldOperator()); - } - } -} -