|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.obsearch.index.bucket.impl.AbstractBucketContainerDouble<O,B>
public abstract class AbstractBucketContainerDouble<O extends OBDouble,B extends BucketObjectDouble>
AbstractBucketContainerDouble Holds the functionality of a bucket that sorts its smap-vectors lexicographically. Binary searches are employed inside the vector.
Field Summary | |
---|---|
protected byte[] |
key
Iterate only through this key. |
Constructor Summary | |
---|---|
AbstractBucketContainerDouble(net.obsearch.Index<O> index,
int pivots,
net.obsearch.storage.OBStore<net.obsearch.storage.TupleBytes> storage,
byte[] key)
Build a new container for doubles over the given index, with the given pivot number and a certain storage device where all the smap vectors are stored. |
|
AbstractBucketContainerDouble(net.obsearch.Index<O> index,
int pivots,
net.obsearch.storage.OBStore<net.obsearch.storage.TupleBytes> storage,
byte[] key,
int secondaryIndexPivot)
Build a new container for doubles over the given index, with the given pivot number and a certain storage device where all the smap vectors are stored. |
Method Summary | |
---|---|
net.obsearch.OperationStatus |
delete(B bucket,
O object)
|
net.obsearch.OperationStatus |
exists(B bucket,
O object)
|
List<B> |
getObjects()
Return the object list! |
int |
getPivots()
|
net.obsearch.OperationStatus |
insert(B bucket,
O object)
Insert the given bucket into the container. |
net.obsearch.OperationStatus |
insertBulk(B bucket,
O object)
Insert the given bucket into the container. |
protected abstract B |
instantiateBucketObject()
Instantiate a new Bucket ready to process each record. |
boolean |
isModified()
|
void |
search(net.obsearch.query.AbstractOBQuery<O> q,
B bucket,
net.obsearch.filter.Filter<O> filter,
net.obsearch.stats.Statistics stats)
|
void |
search(OBQueryDouble<O> query,
B b,
ByteBuffer data,
net.obsearch.filter.Filter<O> filter,
net.obsearch.stats.Statistics stats)
|
void |
search(OBQueryDouble<O> query,
B b,
net.obsearch.filter.Filter<O> filter,
byte[] key1,
byte[] key2,
net.obsearch.stats.Statistics stats)
Convenience method that forces the search to be performed on a certain key set. |
void |
search(OBQueryDouble<O> query,
B b,
net.obsearch.filter.Filter<O> filter,
net.obsearch.stats.Statistics stats)
Searches the data by using a binary search to reduce SMAP vector computations. |
byte[] |
serialize()
|
void |
setKey(byte[] key)
|
void |
setPivots(int pivots)
|
int |
size()
Return the # of S-Map vectors in the bucket. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected byte[] key
Constructor Detail |
---|
public AbstractBucketContainerDouble(net.obsearch.Index<O> index, int pivots, net.obsearch.storage.OBStore<net.obsearch.storage.TupleBytes> storage, byte[] key)
index
- Underlying index.pivots
- Number of pivots employedstorage
- Storage device where the smap vectors are stored.key
- Base key of this containerpublic AbstractBucketContainerDouble(net.obsearch.Index<O> index, int pivots, net.obsearch.storage.OBStore<net.obsearch.storage.TupleBytes> storage, byte[] key, int secondaryIndexPivot)
index
- Underlying index.pivots
- Number of pivots employedstorage
- Storage device where the smap vectors are stored.key
- Base key of this containersecondaryIndexPivot
- Sort records by this dimension.Method Detail |
---|
public List<B> getObjects()
getObjects
in interface net.obsearch.index.bucket.BucketContainer<O extends OBDouble,B extends BucketObjectDouble,OBQueryDouble<O extends OBDouble>>
protected abstract B instantiateBucketObject()
public void setPivots(int pivots)
setPivots
in interface net.obsearch.index.bucket.BucketContainer<O extends OBDouble,B extends BucketObjectDouble,OBQueryDouble<O extends OBDouble>>
public net.obsearch.OperationStatus delete(B bucket, O object) throws net.obsearch.exception.OBException, net.obsearch.exception.IllegalIdException, IllegalAccessException, InstantiationException
delete
in interface net.obsearch.index.bucket.BucketContainer<O extends OBDouble,B extends BucketObjectDouble,OBQueryDouble<O extends OBDouble>>
net.obsearch.exception.OBException
net.obsearch.exception.IllegalIdException
IllegalAccessException
InstantiationException
public net.obsearch.OperationStatus insert(B bucket, O object) throws net.obsearch.exception.OBException, net.obsearch.exception.IllegalIdException, IllegalAccessException, InstantiationException
insert
in interface net.obsearch.index.bucket.BucketContainer<O extends OBDouble,B extends BucketObjectDouble,OBQueryDouble<O extends OBDouble>>
bucket
- Bucket to insert.object
- the bucket has an object.
net.obsearch.exception.OBException
net.obsearch.exception.IllegalIdException
IllegalAccessException
InstantiationException
public net.obsearch.OperationStatus insertBulk(B bucket, O object) throws net.obsearch.exception.OBException, net.obsearch.exception.IllegalIdException, IllegalAccessException, InstantiationException
insertBulk
in interface net.obsearch.index.bucket.BucketContainer<O extends OBDouble,B extends BucketObjectDouble,OBQueryDouble<O extends OBDouble>>
bucket
- Bucket to insert.object
- the bucket has an object.
net.obsearch.exception.OBException
net.obsearch.exception.IllegalIdException
IllegalAccessException
InstantiationException
public net.obsearch.OperationStatus exists(B bucket, O object) throws net.obsearch.exception.OBException, net.obsearch.exception.IllegalIdException, IllegalAccessException, InstantiationException
exists
in interface net.obsearch.index.bucket.BucketContainer<O extends OBDouble,B extends BucketObjectDouble,OBQueryDouble<O extends OBDouble>>
net.obsearch.exception.OBException
net.obsearch.exception.IllegalIdException
IllegalAccessException
InstantiationException
public void search(OBQueryDouble<O> query, B b, ByteBuffer data, net.obsearch.filter.Filter<O> filter, net.obsearch.stats.Statistics stats) throws IllegalAccessException, net.obsearch.exception.OBException, InstantiationException, net.obsearch.exception.IllegalIdException
search
in interface net.obsearch.index.bucket.BucketContainer<O extends OBDouble,B extends BucketObjectDouble,OBQueryDouble<O extends OBDouble>>
IllegalAccessException
net.obsearch.exception.OBException
InstantiationException
net.obsearch.exception.IllegalIdException
public void search(net.obsearch.query.AbstractOBQuery<O> q, B bucket, net.obsearch.filter.Filter<O> filter, net.obsearch.stats.Statistics stats) throws IllegalAccessException, net.obsearch.exception.OBException, InstantiationException, net.obsearch.exception.IllegalIdException
search
in interface net.obsearch.index.bucket.BucketContainer<O extends OBDouble,B extends BucketObjectDouble,OBQueryDouble<O extends OBDouble>>
IllegalAccessException
net.obsearch.exception.OBException
InstantiationException
net.obsearch.exception.IllegalIdException
public void search(OBQueryDouble<O> query, B b, net.obsearch.filter.Filter<O> filter, net.obsearch.stats.Statistics stats) throws IllegalAccessException, net.obsearch.exception.OBException, InstantiationException, net.obsearch.exception.IllegalIdException
search
in interface net.obsearch.index.bucket.BucketContainer<O extends OBDouble,B extends BucketObjectDouble,OBQueryDouble<O extends OBDouble>>
query
- b
-
IllegalAccessException
DatabaseException
net.obsearch.exception.OBException
InstantiationException
net.obsearch.exception.IllegalIdException
public void search(OBQueryDouble<O> query, B b, net.obsearch.filter.Filter<O> filter, byte[] key1, byte[] key2, net.obsearch.stats.Statistics stats) throws IllegalAccessException, net.obsearch.exception.OBException, InstantiationException, net.obsearch.exception.IllegalIdException
IllegalAccessException
net.obsearch.exception.OBException
InstantiationException
net.obsearch.exception.IllegalIdException
public int getPivots()
getPivots
in interface net.obsearch.index.bucket.BucketContainer<O extends OBDouble,B extends BucketObjectDouble,OBQueryDouble<O extends OBDouble>>
public int size() throws net.obsearch.exception.OBException
size
in interface net.obsearch.index.bucket.BucketContainer<O extends OBDouble,B extends BucketObjectDouble,OBQueryDouble<O extends OBDouble>>
net.obsearch.exception.OBException
public void setKey(byte[] key)
setKey
in interface net.obsearch.index.bucket.BucketContainer<O extends OBDouble,B extends BucketObjectDouble,OBQueryDouble<O extends OBDouble>>
public byte[] serialize()
serialize
in interface net.obsearch.index.bucket.BucketContainer<O extends OBDouble,B extends BucketObjectDouble,OBQueryDouble<O extends OBDouble>>
public boolean isModified()
isModified
in interface net.obsearch.index.bucket.BucketContainer<O extends OBDouble,B extends BucketObjectDouble,OBQueryDouble<O extends OBDouble>>
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |