public class SpanQueryCaptureGroup extends BLSpanQuery
Modifier and Type | Field and Description |
---|---|
protected String |
baseFieldName
The field name for this query.
|
protected List<BLSpanQuery> |
clauses |
protected String |
luceneFieldName |
MAX_UNLIMITED
Constructor and Description |
---|
SpanQueryCaptureGroup(BLSpanQuery query,
String name,
int leftAdjust,
int rightAdjust)
Construct SpanQueryCaptureGroup object.
|
Modifier and Type | Method and Description |
---|---|
boolean |
canInternalizeNeighbour(BLSpanQuery clause,
boolean onTheRight)
Can this query "internalize" the given neighbouring clause?
Internalizing means adding the clause to its children, which is often more
efficient because we create longer sequences that match fewer hits and may
themselves be further optimized.
|
String |
clausesToString(String field) |
BLSpanWeight |
createWeight(org.apache.lucene.search.IndexSearcher searcher,
boolean needsScores) |
boolean |
equals(Object obj) |
int |
forwardMatchingCost()
Return an (very rough) indication of how expensive finding a match for this
query using an NFA would be.
|
String |
getField()
Returns the name of the search field.
|
String |
getRealField() |
int |
hashCode() |
boolean |
hitsAllSameLength()
Do our hits have constant length?
|
boolean |
hitsAreUnique()
Is it guaranteed that no two hits have the same start and end position?
|
boolean |
hitsEndPointSorted()
When hit B follows hit A, is it guaranteed that B.end >= A.end? Also, if
A.end == B.end, is B.start > A.start?
|
boolean |
hitsHaveUniqueEnd()
Is it guaranteed that no two hits have the same end position?
|
boolean |
hitsHaveUniqueStart()
Is it guaranteed that no two hits have the same start position?
|
int |
hitsLengthMax()
How long could our longest hit be?
|
int |
hitsLengthMin()
How long could our shortest hit be?
|
boolean |
hitsStartPointSorted()
When hit B follows hit A, is it guaranteed that B.start >= A.start? Also,
if A.start == B.start, is B.end > A.end?
|
BLSpanQuery |
internalizeNeighbour(BLSpanQuery clause,
boolean onTheRight)
Internalize the given clause.
|
boolean |
matchesEmptySequence()
Does this query match the empty sequence?
For example, the query [word="cow"]* matches the empty sequence.
|
BLSpanQuery |
noEmpty()
Return a version of this clause that cannot match the empty sequence.
|
long |
reverseMatchingCost(org.apache.lucene.index.IndexReader reader)
Return an (very rough) indication of how many hits this clause might return.
|
BLSpanQuery |
rewrite(org.apache.lucene.index.IndexReader reader) |
protected List<BLSpanQuery> |
rewriteClauses(org.apache.lucene.index.IndexReader reader) |
void |
setQueryInfo(QueryInfo queryInfo) |
String |
toString(String field) |
addMaxValues, canMakeNfa, ensureSorted, ensureSortedUnique, getNfa, getNfaTwoWay, inf, inverted, isSingleTokenNot, log, optimize, producesSingleTokens, wrap
protected String baseFieldName
protected String luceneFieldName
protected List<BLSpanQuery> clauses
public SpanQueryCaptureGroup(BLSpanQuery query, String name, int leftAdjust, int rightAdjust)
query
- the query to determine edges fromname
- captured group nameleftAdjust
- how to adjust the captured group's start positionrightAdjust
- how to adjust the captured group's end positionpublic BLSpanQuery rewrite(org.apache.lucene.index.IndexReader reader) throws IOException
rewrite
in class BLSpanQuery
IOException
public boolean matchesEmptySequence()
BLSpanQuery
matchesEmptySequence
in class BLSpanQuery
public BLSpanQuery noEmpty()
BLSpanQuery
public BLSpanWeight createWeight(org.apache.lucene.search.IndexSearcher searcher, boolean needsScores) throws IOException
createWeight
in class BLSpanQuery
IOException
public String toString(String field)
toString
in class BLSpanQuery
public boolean hitsAllSameLength()
BLSpanQuery
hitsAllSameLength
in class BLSpanQuery
public int hitsLengthMin()
BLSpanQuery
hitsLengthMin
in class BLSpanQuery
public int hitsLengthMax()
BLSpanQuery
hitsLengthMax
in class BLSpanQuery
public boolean hitsStartPointSorted()
BLSpanQuery
hitsStartPointSorted
in class BLSpanQuery
public boolean hitsEndPointSorted()
BLSpanQuery
hitsEndPointSorted
in class BLSpanQuery
public boolean hitsHaveUniqueStart()
BLSpanQuery
hitsHaveUniqueStart
in class BLSpanQuery
public boolean hitsHaveUniqueEnd()
BLSpanQuery
hitsHaveUniqueEnd
in class BLSpanQuery
public boolean hitsAreUnique()
BLSpanQuery
hitsAreUnique
in class BLSpanQuery
public boolean canInternalizeNeighbour(BLSpanQuery clause, boolean onTheRight)
BLSpanQuery
canInternalizeNeighbour
in class BLSpanQuery
clause
- clause we want to internalizeonTheRight
- if true, clause is a right neighbour of this query; if
false, a left neighbourpublic BLSpanQuery internalizeNeighbour(BLSpanQuery clause, boolean onTheRight)
BLSpanQuery
internalizeNeighbour
in class BLSpanQuery
clause
- clause we want to internalizeonTheRight
- if true, clause is a right neighbour of this query; if
false, a left neighbourpublic long reverseMatchingCost(org.apache.lucene.index.IndexReader reader)
BLSpanQuery
reverseMatchingCost
in class BLSpanQuery
reader
- the index readerpublic int forwardMatchingCost()
BLSpanQuery
forwardMatchingCost
in class BLSpanQuery
public int hashCode()
public boolean equals(Object obj)
public String getField()
getField
in class BLSpanQuery
public String getRealField()
getRealField
in class BLSpanQuery
protected List<BLSpanQuery> rewriteClauses(org.apache.lucene.index.IndexReader reader) throws IOException
IOException
public void setQueryInfo(QueryInfo queryInfo)
setQueryInfo
in class BLSpanQuery
Copyright © 2020 Instituut voor Nederlandse Taal (INT). All rights reserved.