public async Task <FunctionIndexTransactionHandler <TFunctionMessage> > CreateFunctionHandlerAsync <TFunctionMessage, TSearchDocument>( Index index, IFunctionMessageToSearchDocumentMapper <TFunctionMessage, TSearchDocument> mapper) where TFunctionMessage : FunctionMessage, new() where TSearchDocument : class, new() { var functionIndexer = await AzureSearchService.CreateFunctionIndexer <TFunctionMessage, TSearchDocument>(index, mapper); var functionHandler = new FunctionIndexTransactionHandler <TFunctionMessage>(functionIndexer); return(functionHandler); }
public async Task <FunctionIndexTransactionHandler <TFunctionMessage> > CreateFunctionHandlerAsync <TFunctionMessage, TSearchDocument>( string indexName, IFunctionMessageToSearchDocumentMapper <TFunctionMessage, TSearchDocument> mapper) where TFunctionMessage : FunctionMessage, new() where TSearchDocument : class, IHasId, new() { var functionIndexer = await _elasticSearchService.CreateFunctionIndexer <TFunctionMessage, TSearchDocument>(indexName, mapper); var functionHandler = new FunctionIndexTransactionHandler <TFunctionMessage>(functionIndexer); return(functionHandler); }
public AzureFunctionIndexer(Index index, ISearchIndexClient indexClient, IFunctionMessageToSearchDocumentMapper <TFunctionMessage, TSearchDocument> mapper) : base(index, indexClient) { _mapper = mapper; }
public async Task <IFunctionIndexer <TFunctionMessage> > CreateFunctionIndexer <TFunctionMessage, TSearchDocument>(Index index, IFunctionMessageToSearchDocumentMapper <TFunctionMessage, TSearchDocument> mapper) where TFunctionMessage : FunctionMessage, new() where TSearchDocument : class, new() { index = await GetOrCreateAzureIndex(index); return(new AzureFunctionIndexer <TFunctionMessage, TSearchDocument>(index, GetOrCreateIndexClient(index.Name), mapper)); }
public async Task <IFunctionIndexer <TFunctionMessage> > CreateFunctionIndexer <TFunctionMessage, TSearchDocument>(string indexName, IFunctionMessageToSearchDocumentMapper <TFunctionMessage, TSearchDocument> mapper) where TFunctionMessage : FunctionMessage, new() where TSearchDocument : class, IHasId, new() { await CreateIfNotExists(indexName); var indexer = new ElasticFunctionIndexer <TFunctionMessage, TSearchDocument>(_elasticClient, indexName, mapper); return(indexer); }
public ElasticFunctionIndexer(IElasticClient client, string indexName, IFunctionMessageToSearchDocumentMapper <TFunctionMessage, TSearchDocument> mapper) : base(client, indexName) { this._mapper = mapper; }