public async Task <IResult> DeleteAllAsync <T>() where T : class { var response = await this._elasticClient. DeleteByQueryAsync <T>(q => q.MatchAll()); var result = new Result() { Success = response.IsValid, Message = response.DebugInformation }; return(result); }
public async Task <IResult> BulkIndexAsync <T>(IEnumerable <T> documents) where T : class { var bulkIndexResponse = await this._elasticClient.BulkAsync(b => b .Index(this._indexName) .IndexMany(documents)); var result = new Result { Success = bulkIndexResponse.IsValid, AffectRow = bulkIndexResponse.Items.Count() }; return(result); }
public async Task <IResult> CheckOrCreateIndexAsync <T>() where T : class { var existIndex = await this.ExistIndexAsync(); if (existIndex) { return(new Result { Success = true }); } var createResponse = await this._elasticClient.Indices .CreateAsync(this._indexName, c => c.Map <T>(m => m.AutoMap())); var result = new Result() { Success = createResponse.IsValid, Message = createResponse.DebugInformation }; return(result); }