public UniquePayloadIndex( string indexName, IKeyExtractor <TValue> indexedKeyExtractor, IKeyExtractor <TValue> masterKeyExtractor, ISerializer serializer, TimeSpan?expiry) { Extractor = indexedKeyExtractor; _masterKeyExtractor = masterKeyExtractor; var hashIndexCollectionName = indexName; //$"{collectionRootName}:{indexName.ToLowerInvariant()}"; _indexWriter = new UniqueIndexWriter <TValue>( Extractor, serializer.Serialize, expiry, hashIndexCollectionName); _indexValueReader = new UniqueIndexReader <TValue>(hashIndexCollectionName, serializer.Deserialize <TValue>); }
public UniqueKeyedIndex( string indexName, IKeyExtractor <TValue> indexedKeyExtractor, IKeyExtractor <TValue> masterKeyExtractor, Func <string, TValue> masterValueGetter, TimeSpan?expiry) { Extractor = indexedKeyExtractor; _masterValueGetter = masterValueGetter; var hashIndexCollectionName = indexName; _indexWriter = new UniqueIndexWriter <TValue>( Extractor, masterKeyExtractor.ExtractKey, expiry, hashIndexCollectionName); _indexValueReader = new UniqueIndexReader <string>(hashIndexCollectionName, value => value); }