X-Git-Url: https://git.mdrn.pl/pylucene.git/blobdiff_plain/a2e61f0c04805cfcb8706176758d1283c7e3a55c..aaeed5504b982cf3545252ab528713250aa33eed:/lucene-java-3.5.0/lucene/src/java/org/apache/lucene/search/SpanFilterResult.java diff --git a/lucene-java-3.5.0/lucene/src/java/org/apache/lucene/search/SpanFilterResult.java b/lucene-java-3.5.0/lucene/src/java/org/apache/lucene/search/SpanFilterResult.java new file mode 100644 index 0000000..f07d77a --- /dev/null +++ b/lucene-java-3.5.0/lucene/src/java/org/apache/lucene/search/SpanFilterResult.java @@ -0,0 +1,116 @@ +package org.apache.lucene.search; +/** + * Copyright 2005 The Apache Software Foundation + * + * Licensed 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; + + +/** + * The results of a SpanQueryFilter. Wraps the BitSet and the position information from the SpanQuery + * + * @lucene.experimental + * + **/ +public class SpanFilterResult { + private DocIdSet docIdSet; + private List positions;//Spans spans; + + /** + * + * @param docIdSet The DocIdSet for the Filter + * @param positions A List of {@link org.apache.lucene.search.SpanFilterResult.PositionInfo} objects + */ + public SpanFilterResult(DocIdSet docIdSet, List positions) { + this.docIdSet = docIdSet; + this.positions = positions; + } + + /** + * The first entry in the array corresponds to the first "on" bit. + * Entries are increasing by document order + * @return A List of PositionInfo objects + */ + public List getPositions() { + return positions; + } + + /** Returns the docIdSet */ + public DocIdSet getDocIdSet() { + return docIdSet; + } + + public static class PositionInfo { + private int doc; + private List positions; + + + public PositionInfo(int doc) { + this.doc = doc; + positions = new ArrayList(); + } + + public void addPosition(int start, int end) + { + positions.add(new StartEnd(start, end)); + } + + public int getDoc() { + return doc; + } + + /** + * + * @return Positions + */ + public List getPositions() { + return positions; + } + } + + public static class StartEnd + { + private int start; + private int end; + + + public StartEnd(int start, int end) { + this.start = start; + this.end = end; + } + + /** + * + * @return The end position of this match + */ + public int getEnd() { + return end; + } + + /** + * The Start position + * @return The start position of this match + */ + public int getStart() { + return start; + } + + } +} + + +