Interface | Description |
---|---|
PayloadSpans |
WARNING: The status of the Payloads feature is experimental.
|
Spans |
Expert: an enumeration of span matches.
|
Class | Description |
---|---|
SpanFirstQuery |
Matches spans near the beginning of a field.
|
SpanNearQuery |
Matches spans which are near one another.
|
SpanNotQuery |
Removes matches which overlap with another SpanQuery.
|
SpanOrQuery |
Matches the union of its clauses.
|
SpanQuery |
Base class for span-based queries.
|
SpanScorer |
Public for extension only.
|
SpanTermQuery |
Matches spans containing a term.
|
SpanWeight |
Expert-only.
|
TermSpans |
Expert:
Public for extension only
|
A span is a <doc,startPosition,endPosition>
tuple.
The following span query operators are implemented:
q
whose end position is less than
n
. This can be used to constrain matches to the first
part of the document.For example, a span query which matches "John Kerry" within ten words of "George Bush" within the first 100 words of the document could be constructed with:
SpanQuery john = new SpanTermQuery(new Term("content", "john")); SpanQuery kerry = new SpanTermQuery(new Term("content", "kerry")); SpanQuery george = new SpanTermQuery(new Term("content", "george")); SpanQuery bush = new SpanTermQuery(new Term("content", "bush")); SpanQuery johnKerry = new SpanNearQuery(new SpanQuery[] {john, kerry}, 0, true); SpanQuery georgeBush = new SpanNearQuery(new SpanQuery[] {george, bush}, 0, true); SpanQuery johnKerryNearGeorgeBush = new SpanNearQuery(new SpanQuery[] {johnKerry, georgeBush}, 10, false); SpanQuery johnKerryNearGeorgeBushAtStart = new SpanFirstQuery(johnKerryNearGeorgeBush, 100);
Span queries may be freely intermixed with other Lucene queries. So, for example, the above query can be restricted to documents which also use the word "iraq" with:
Query query = new BooleanQuery(); query.add(johnKerryNearGeorgeBushAtStart, true, false); query.add(new TermQuery("content", "iraq"), true, false);
Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.