public LookupPayloadIndex( string indexName, IKeyExtractor <TValue> indexedKeyExtractor, IKeyExtractor <TValue> masterKeyExtractor, ISerializer serializer, TimeSpan?expiry) { _indexCollectionPrefix = indexName; _masterKeyExtractor = masterKeyExtractor; Extractor = indexedKeyExtractor; _indexWriter = new LookupIndexWriter <TValue>( Extractor, serializer.Serialize, expiry, GenerateSetName); _indexValueReader = new LookupIndexReader <TValue>(GenerateSetName, serializer.Deserialize <TValue>); }
public LookupKeyedIndex( string indexName, IKeyExtractor <TValue> indexedKeyExtractor, IKeyExtractor <TValue> masterKeyExtractor, Func <string, TValue> masterValueGetter, TimeSpan?expiry) { _indexCollectionPrefix = indexName; _masterValueGetter = masterValueGetter; Extractor = indexedKeyExtractor; _indexWriter = new LookupIndexWriter <TValue>( Extractor, masterKeyExtractor.ExtractKey, expiry, GenerateSetName); _indexValueReader = new LookupIndexReader <string>(GenerateSetName, value => value); }