package
0.0.1
Repository: https://github.com/peterwilliams97/blevex.git
Documentation: pkg.go.dev

# README

Index Batcher

A wrapper to automatically batch modifications

IndexBatcher aggregates modifications (Index(), Delete(), SetInternal(), DeleteInternal()) that occur within close proximity into a batch execution for increased throughput at the cost of an amortized period / 2 latency increase. It is a fairly transparent wrapper around the Index interface that is itself an Index. The period is adjustable. When experimenting with Cassandra as a backend, I ran into throughput bottlenecks as a result of the number of keys being inserted at the KVStore layer. Guiding individual insertions into batches via this layer nearly doubled throughput.

The IndexBatcher is a contribution from Rob McColl.

# Functions

NewIndexBatcher returns an index that will aggregate and fire modifying requests as a batch every period time.

# Structs

IndexBatcher can be wrapped around a Index to aggregate operations in a concurrent / parallel context for increased throughput.