public abstract class Grouping.Command<T> extends Object
Note: Maybe the creating the response structure should be done in something like a ReponseBuilder??? Warning NOT thread save!
Modifier and Type | Field and Description |
---|---|
int |
docsPerGroup |
Grouping.Format |
format |
int |
groupOffset |
Sort |
groupSort |
String |
key |
boolean |
main |
int |
numGroups |
int |
offset |
Grouping.TotalCount |
totalCount |
Sort |
withinGroupSort |
Constructor and Description |
---|
Command() |
Modifier and Type | Method and Description |
---|---|
protected void |
addDocList(NamedList rsp,
GroupDocs groups) |
protected NamedList |
commonResponse() |
AllGroupHeadsCollector<?> |
createAllGroupCollector()
Returns a collector that is able to return the most relevant document of all groups.
|
protected abstract Collector |
createFirstPassCollector()
Returns one or more
Collector instances that are needed to perform the first pass search. |
protected Collector |
createSecondPassCollector()
Returns zero or more
Collector instances that are needed to perform the second pass search. |
protected DocList |
createSimpleResponse() |
protected abstract void |
finish()
Performs any necessary post actions to prepare the response.
|
protected DocList |
getDocList(GroupDocs groups) |
abstract int |
getMatches()
Returns the number of matches for this
Command . |
protected Integer |
getNumberOfGroups()
Returns the number of groups found for this
Command . |
protected void |
populateScoresIfNecessary() |
protected abstract void |
prepare()
Prepare this
Command for execution. |
public String key
public Sort withinGroupSort
public Sort groupSort
public int docsPerGroup
public int groupOffset
public int numGroups
public int offset
public Grouping.Format format
public boolean main
public Grouping.TotalCount totalCount
protected abstract void prepare() throws IOException
Command
for execution.IOException
- If I/O related errors occurprotected abstract Collector createFirstPassCollector() throws IOException
Collector
instances that are needed to perform the first pass search.
If multiple Collectors are returned then these wrapped in a MultiCollector
.Collector
instances that are need to perform the first pass searchIOException
- If I/O related errors occurprotected Collector createSecondPassCollector() throws IOException
Collector
instances that are needed to perform the second pass search.
In the case when no Collector
instances are created null
is returned.
If multiple Collectors are returned then these wrapped in a MultiCollector
.Collector
instances that are needed to perform the second pass searchIOException
- If I/O related errors occurpublic AllGroupHeadsCollector<?> createAllGroupCollector() throws IOException
null
if the command doesn't support this type of collector.IOException
- If I/O related errors occurprotected abstract void finish() throws IOException
IOException
- If I/O related errors occurpublic abstract int getMatches()
Command
.Command
protected Integer getNumberOfGroups()
Command
.
If the command doesn't support counting the groups null
is returned.Command
protected void populateScoresIfNecessary() throws IOException
IOException
protected NamedList commonResponse()
protected DocList createSimpleResponse()
Copyright © 2000-2019 Apache Software Foundation. All Rights Reserved.