public async Task <IEventIndexer <TEvent> > CreateEventIndexer <TEvent, TSearchDocument>(string indexName, Func <EventLog <TEvent>, TSearchDocument> mappingFunc) where TEvent : class where TSearchDocument : class, IHasId, new() { var mapper = new EventToSearchDocumentMapper <TEvent, TSearchDocument>(mappingFunc); return(await CreateEventIndexer(indexName, mapper)); }
public async Task <IEventIndexer <TEvent> > CreateEventIndexer <TEvent, TSearchDocument>(Index index, Func <EventLog <TEvent>, TSearchDocument> mappingFunc) where TEvent : class where TSearchDocument : class, new() { index = await GetOrCreateAzureIndex(index); var mapper = new EventToSearchDocumentMapper <TEvent, TSearchDocument>(mappingFunc); IEventIndexer <TEvent> indexer = new AzureEventIndexer <TEvent, TSearchDocument>(index, GetOrCreateIndexClient(index.Name), mapper); return(indexer); }