com.netflix.astyanax.recipes
Class ReverseIndexQuery<K,C,V>

java.lang.Object
  extended by com.netflix.astyanax.recipes.ReverseIndexQuery<K,C,V>
Type Parameters:
K - Key type for data table
C - Column name type for data table
V - Value type being indexed

public class ReverseIndexQuery<K,C,V>
extends Object

Performs a search on a reverse index and fetches all the matching rows CFData:K C=V1 C=V2 CFIndex: V1:K

Data and Index column family

The CFData column family has key of type K and fields or columns of type C. Each column may have a different value type. The CFIndex column family is a sorted index by one of the value types V. The column names in the reverse index are a composite of the value type V and the CFData rowkey type K (V:K).

Author:
elandau

Nested Class Summary
static interface ReverseIndexQuery.IndexEntryCallback<K,V>
           
 class ReverseIndexQuery.Task
           
 
Constructor Summary
ReverseIndexQuery(Keyspace ks, ColumnFamily<K,C> cfData, String indexCf, Serializer<V> valSerializer)
           
 
Method Summary
 void execute()
           
 ReverseIndexQuery<K,C,V> forEach(Callback<Row<K,C>> callback)
           
 ReverseIndexQuery<K,C,V> forEachIndexEntry(ReverseIndexQuery.IndexEntryCallback<K,V> callback)
           
 ReverseIndexQuery<K,C,V> fromIndexValue(V startValue)
           
static
<K,C,V> ReverseIndexQuery<K,C,V>
newQuery(Keyspace ks, ColumnFamily<K,C> cf, String indexCf, Serializer<V> valSerializer)
           
 ReverseIndexQuery<K,C,V> setShardBlockSize(int size)
           
 ReverseIndexQuery<K,C,V> setShardPageSize(int size)
           
 ReverseIndexQuery<K,C,V> toIndexValue(V endValue)
           
 ReverseIndexQuery<K,C,V> useExecutor(ExecutorService executor)
           
 ReverseIndexQuery<K,C,V> useRetryPolicy(RetryPolicy retry)
           
 ReverseIndexQuery<K,C,V> withColumnSlice(Collection<C> columnSlice)
           
 ReverseIndexQuery<K,C,V> withConsistencyLevel(ConsistencyLevel consistencyLevel)
           
 ReverseIndexQuery<K,C,V> withIndexShards(Collection<ByteBuffer> shardKeys)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReverseIndexQuery

public ReverseIndexQuery(Keyspace ks,
                         ColumnFamily<K,C> cfData,
                         String indexCf,
                         Serializer<V> valSerializer)
Method Detail

newQuery

public static <K,C,V> ReverseIndexQuery<K,C,V> newQuery(Keyspace ks,
                                                        ColumnFamily<K,C> cf,
                                                        String indexCf,
                                                        Serializer<V> valSerializer)

useExecutor

public ReverseIndexQuery<K,C,V> useExecutor(ExecutorService executor)

useRetryPolicy

public ReverseIndexQuery<K,C,V> useRetryPolicy(RetryPolicy retry)

withIndexShards

public ReverseIndexQuery<K,C,V> withIndexShards(Collection<ByteBuffer> shardKeys)

fromIndexValue

public ReverseIndexQuery<K,C,V> fromIndexValue(V startValue)

toIndexValue

public ReverseIndexQuery<K,C,V> toIndexValue(V endValue)

forEach

public ReverseIndexQuery<K,C,V> forEach(Callback<Row<K,C>> callback)

forEachIndexEntry

public ReverseIndexQuery<K,C,V> forEachIndexEntry(ReverseIndexQuery.IndexEntryCallback<K,V> callback)

withConsistencyLevel

public ReverseIndexQuery<K,C,V> withConsistencyLevel(ConsistencyLevel consistencyLevel)

withColumnSlice

public ReverseIndexQuery<K,C,V> withColumnSlice(Collection<C> columnSlice)

setShardBlockSize

public ReverseIndexQuery<K,C,V> setShardBlockSize(int size)

setShardPageSize

public ReverseIndexQuery<K,C,V> setShardPageSize(int size)

execute

public void execute()


Copyright © 2012. All Rights Reserved.