Class SpatialDocMaker
- java.lang.Object
-
- org.apache.lucene.benchmark.byTask.feeds.DocMaker
-
- org.apache.lucene.benchmark.byTask.feeds.SpatialDocMaker
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
public class SpatialDocMaker extends DocMaker
Indexes spatial data according to a configuredSpatialStrategy
with optional shape transformation via a configuredSpatialDocMaker.ShapeConverter
. The converter can turn points into circles and bounding boxes, in order to vary the type of indexing performance tests. Unless it's subclass-ed to do otherwise, this class configures aSpatialContext
,SpatialPrefixTree
, andRecursivePrefixTreeStrategy
. The Strategy is made available to a query maker via the static methodgetSpatialStrategy(int)
. See spatial.alg for a listing of spatial parameters, in particular those starting with "spatial." and "doc.spatial".
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
SpatialDocMaker.ShapeConverter
Converts one shape to another.-
Nested classes/interfaces inherited from class org.apache.lucene.benchmark.byTask.feeds.DocMaker
DocMaker.DocState
-
-
Field Summary
Fields Modifier and Type Field Description static String
SPATIAL_FIELD
-
Fields inherited from class org.apache.lucene.benchmark.byTask.feeds.DocMaker
BODY_FIELD, bodyValType, BYTES_FIELD, config, DATE_FIELD, DATE_MSEC_FIELD, ID_FIELD, indexProperties, NAME_FIELD, reuseFields, source, TIME_SEC_FIELD, TITLE_FIELD, valType
-
-
Constructor Summary
Constructors Constructor Description SpatialDocMaker()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SpatialStrategy
getSpatialStrategy(int roundNumber)
Looks up the SpatialStrategy from the given round --Config.getRoundNumber()
.protected SpatialStrategy
makeCompositeStrategy(Config config, Map<String,String> configMap, org.locationtech.spatial4j.context.SpatialContext ctx)
Document
makeDocument()
Creates aDocument
object ready for indexing.Document
makeDocument(int size)
Same asDocMaker.makeDocument()
, only this method creates a document of the given size input bysize
.protected RecursivePrefixTreeStrategy
makeRPTStrategy(String spatialField, Config config, Map<String,String> configMap, org.locationtech.spatial4j.context.SpatialContext ctx)
protected SerializedDVStrategy
makeSerializedDVStrategy(String spatialField, Config config, Map<String,String> configMap, org.locationtech.spatial4j.context.SpatialContext ctx)
static SpatialDocMaker.ShapeConverter
makeShapeConverter(SpatialStrategy spatialStrategy, Config config, String configKeyPrefix)
Optionally converts points to circles, and optionally bbox'es result.static org.locationtech.spatial4j.shape.Shape
makeShapeFromString(SpatialStrategy strategy, String name, String shapeStr)
protected SpatialStrategy
makeSpatialStrategy(Config config)
Builds a SpatialStrategy from configuration options.protected SpatialStrategy
makeSpatialStrategy(Config config, Map<String,String> configMap, org.locationtech.spatial4j.context.SpatialContext ctx)
void
setConfig(Config config, ContentSource source)
Set the configuration parameters of this doc maker.-
Methods inherited from class org.apache.lucene.benchmark.byTask.feeds.DocMaker
close, getDocState, resetInputs
-
-
-
-
Field Detail
-
SPATIAL_FIELD
public static final String SPATIAL_FIELD
- See Also:
- Constant Field Values
-
-
Method Detail
-
getSpatialStrategy
public static SpatialStrategy getSpatialStrategy(int roundNumber)
Looks up the SpatialStrategy from the given round --Config.getRoundNumber()
. It's an error if it wasn't created already for this round -- when SpatialDocMaker is initialized.
-
makeSpatialStrategy
protected SpatialStrategy makeSpatialStrategy(Config config)
Builds a SpatialStrategy from configuration options.
-
makeSpatialStrategy
protected SpatialStrategy makeSpatialStrategy(Config config, Map<String,String> configMap, org.locationtech.spatial4j.context.SpatialContext ctx)
-
makeRPTStrategy
protected RecursivePrefixTreeStrategy makeRPTStrategy(String spatialField, Config config, Map<String,String> configMap, org.locationtech.spatial4j.context.SpatialContext ctx)
-
makeSerializedDVStrategy
protected SerializedDVStrategy makeSerializedDVStrategy(String spatialField, Config config, Map<String,String> configMap, org.locationtech.spatial4j.context.SpatialContext ctx)
-
makeCompositeStrategy
protected SpatialStrategy makeCompositeStrategy(Config config, Map<String,String> configMap, org.locationtech.spatial4j.context.SpatialContext ctx)
-
setConfig
public void setConfig(Config config, ContentSource source)
Description copied from class:DocMaker
Set the configuration parameters of this doc maker.
-
makeShapeConverter
public static SpatialDocMaker.ShapeConverter makeShapeConverter(SpatialStrategy spatialStrategy, Config config, String configKeyPrefix)
Optionally converts points to circles, and optionally bbox'es result.
-
makeDocument
public Document makeDocument() throws Exception
Description copied from class:DocMaker
Creates aDocument
object ready for indexing. This method uses theContentSource
to get the next document from the source, and creates aDocument
object from the returned fields. IfreuseFields
was set to true, it will reuseDocument
andField
instances.- Overrides:
makeDocument
in classDocMaker
- Throws:
Exception
-
makeShapeFromString
public static org.locationtech.spatial4j.shape.Shape makeShapeFromString(SpatialStrategy strategy, String name, String shapeStr)
-
makeDocument
public Document makeDocument(int size) throws Exception
Description copied from class:DocMaker
Same asDocMaker.makeDocument()
, only this method creates a document of the given size input bysize
.- Overrides:
makeDocument
in classDocMaker
- Throws:
Exception
-
-