public async Task <IFunctionIndexer <TFunctionMessage> > CreateFunctionIndexer <TFunctionMessage, TSearchDocument>(string indexName, Func <FunctionCall <TFunctionMessage>, TSearchDocument> mapperFunc) where TFunctionMessage : FunctionMessage, new() where TSearchDocument : class, IHasId, new() { var mapper = new FunctionMessageToSearchDocumentMapper <TFunctionMessage, TSearchDocument>(mapperFunc); return(await CreateFunctionIndexer(indexName, mapper)); }
public async Task <IFunctionIndexer <TFunctionMessage> > CreateFunctionIndexer <TFunctionMessage, TSearchDocument>(Index index, Func <FunctionCall <TFunctionMessage>, TSearchDocument> mapperFunc) where TFunctionMessage : FunctionMessage, new() where TSearchDocument : class, new() { index = await GetOrCreateAzureIndex(index); var mapper = new FunctionMessageToSearchDocumentMapper <TFunctionMessage, TSearchDocument>(mapperFunc); return(new AzureFunctionIndexer <TFunctionMessage, TSearchDocument>(index, GetOrCreateIndexClient(index.Name), mapper)); }