Grouping.Command (Solr 3.6.2 API)
Keywords: org.apache.solr.search.Grouping.Command class

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.solr.search
Class Grouping.Command<GROUP_VALUE_TYPE>

    java.lang.Object
      org.apache.solr.search.Grouping.Command<GROUP_VALUE_TYPE>

Direct Known Subclasses:
  Grouping.CommandField, Grouping.CommandQuery

Enclosing class:
  Grouping

    public abstract class Grouping.Command<GROUP_VALUE_TYPE>

extends Object

General group command. A group command is responsible for creating the first and second pass collectors. A group command is also responsible for creating the response structure.

Note: Maybe the creating the response structure should be done in something like a ReponseBuilder??? Warning NOT thread save!

Field Summary
`int` | `docsPerGroup`
`Grouping.Format` | `format`
`int` | `groupOffset`
`Sort` | `groupSort`
`String` | `key`
`boolean` | `main`
`int` | `numGroups`
`int` | `offset`
`Sort` | `sort`
`Grouping.TotalCount` | `totalCount`

Constructor Summary
`Grouping.Command()`

Method Summary
`protected void` | `addDocList(NamedList rsp, GroupDocs groups)`
`protected NamedList` | `commonResponse()`
`AbstractAllGroupHeadsCollector<?>` | `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 abstract void` | `prepare()` Prepare this `Command` for execution.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### key

    public String key

### groupSort

    public Sort groupSort

### sort

    public Sort sort

### docsPerGroup

    public int docsPerGroup

### groupOffset

    public int groupOffset

### numGroups

    public int numGroups

### offset

    public int offset

### format

    public Grouping.Format format

### main

    public boolean main

### totalCount

    public Grouping.TotalCount totalCount

Constructor Detail

### Grouping.Command

    public Grouping.Command()

Method Detail

### prepare

    protected abstract void prepare()
                             throws IOException

  Prepare this `Command` for execution.

  Throws:
    `IOException` - If I/O related errors occur

### createFirstPassCollector

    protected abstract Collector createFirstPassCollector()
                                                   throws IOException

  Returns one or more `Collector` instances that are needed to perform the first pass search. If multiple Collectors are returned then these wrapped in a `MultiCollector`.

  Returns:
    one or more `Collector` instances that are need to perform the first pass search
  Throws:
    `IOException` - If I/O related errors occur

### createSecondPassCollector

    protected Collector createSecondPassCollector()
                                           throws IOException

  Returns zero or more `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`.

  Returns:
    zero or more `Collector` instances that are needed to perform the second pass search
  Throws:
    `IOException` - If I/O related errors occur

### createAllGroupCollector

    public AbstractAllGroupHeadsCollector<?> createAllGroupCollector()
                                                              throws IOException

  Returns a collector that is able to return the most relevant document of all groups. Returns `null` if the command doesn't support this type of collector.

  Returns:
    a collector that is able to return the most relevant document of all groups.
  Throws:
    `IOException` - If I/O related errors occur

### finish

    protected abstract void finish()
                            throws IOException

  Performs any necessary post actions to prepare the response.

  Throws:
    `IOException` - If I/O related errors occur

### getMatches

    public abstract int getMatches()

  Returns the number of matches for this `Command`.

  Returns:
    the number of matches for this `Command`

### getNumberOfGroups

    protected Integer getNumberOfGroups()

  Returns the number of groups found for this `Command`. If the command doesn't support counting the groups `null` is returned.

  Returns:
    the number of groups found for this `Command`

### commonResponse

    protected NamedList commonResponse()

### getDocList

    protected DocList getDocList(GroupDocs groups)

### addDocList

    protected void addDocList(NamedList rsp,
                              GroupDocs groups)

### createSimpleResponse

    protected DocList createSimpleResponse()

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD