Package org.apache.lucene.benchmark.byTask.feeds

# Class FacetSource

java.lang.Object
org.apache.lucene.benchmark.byTask.feeds.ContentItemsSource
org.apache.lucene.benchmark.byTask.feeds.FacetSource

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

Direct Known Subclasses:
  `RandomFacetSource`

public abstract class FacetSource extends ContentItemsSource
Source items for facets.

For supported configuration parameters see `ContentItemsSource`.

## Field Summary

### Fields inherited from class org.apache.lucene.benchmark.byTask.feeds.ContentItemsSource

`encoding, forever, logStep, verbose`

## Constructor Summary

Constructors
Constructor
Description
`FacetSource()`

## Method Summary

Modifier and Type
Method
Description
`abstract void`
`configure(FacetsConfig config)`
`abstract void`
`getNextFacets(List<FacetField> facets)`
Fills the next facets content items in the given list.
`void`
`resetInputs()`
Resets the input for this content source, so that the test would behave as if it was just started, input-wise.

### Methods inherited from class org.apache.lucene.benchmark.byTask.feeds.ContentItemsSource

`addBytes, addItem, close, collectFiles, getBytesCount, getConfig, getItemsCount, getTotalBytesCount, getTotalItemsCount, printStatistics, setConfig, shouldLog`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### FacetSource

public FacetSource()

## Method Details

### getNextFacets

public abstract void getNextFacets(List<FacetField> facets) throws NoMoreDataException, IOException
Fills the next facets content items in the given list. Implementations must account for multi-threading, as multiple threads can call this method simultaneously.

Throws:
  `NoMoreDataException`
  `IOException`

### configure

public abstract void configure(FacetsConfig config)

### resetInputs

public void resetInputs() throws IOException
Description copied from class: `ContentItemsSource`
Resets the input for this content source, so that the test would behave as if it was just started, input-wise.

NOTE: the default implementation resets the number of bytes and items generated since the last reset, so it's important to call super.resetInputs in case you override this method.

Overrides:
  `resetInputs` in class `ContentItemsSource`
Throws:
  `IOException`