01: package org.apache.lucene.search.spans;
02:
03: /**
04: * Licensed to the Apache Software Foundation (ASF) under one or more
05: * contributor license agreements. See the NOTICE file distributed with
06: * this work for additional information regarding copyright ownership.
07: * The ASF licenses this file to You under the Apache License, Version 2.0
08: * (the "License"); you may not use this file except in compliance with
09: * the License. You may obtain a copy of the License at
10: *
11: * http://www.apache.org/licenses/LICENSE-2.0
12: *
13: * Unless required by applicable law or agreed to in writing, software
14: * distributed under the License is distributed on an "AS IS" BASIS,
15: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16: * See the License for the specific language governing permissions and
17: * limitations under the License.
18: */
19:
20: import java.io.IOException;
21:
22: import java.util.Collection;
23: import java.util.Set;
24:
25: import org.apache.lucene.index.IndexReader;
26: import org.apache.lucene.search.Query;
27: import org.apache.lucene.search.Weight;
28: import org.apache.lucene.search.Searcher;
29:
30: /** Base class for span-based queries. */
31: public abstract class SpanQuery extends Query {
32: /** Expert: Returns the matches for this query in an index. Used internally
33: * to search for spans. */
34: public abstract Spans getSpans(IndexReader reader)
35: throws IOException;
36:
37: /** Returns the name of the field matched by this query.*/
38: public abstract String getField();
39:
40: /** Returns a collection of all terms matched by this query.
41: * @deprecated use extractTerms instead
42: * @see Query#extractTerms(Set)
43: */
44: public abstract Collection getTerms();
45:
46: protected Weight createWeight(Searcher searcher) throws IOException {
47: return new SpanWeight(this, searcher);
48: }
49:
50: }
|