public IResponse Execute() { // create client connection var node = new Uri(ServerUrl); var conn = new ConnectionSettings(node, this.IndexName); var client = new ElasticClient(conn); // check index name existance var existenceResult = client.GetIndex(i => i.Index(IndexName)); if (existenceResult.ConnectionStatus.Success) { // delete exist index var deleteResult = client.DeleteIndex(i => i.Index(IndexName)); if (!deleteResult.Acknowledged) return deleteResult; } // create index var createResult = client.CreateIndex(i => i.Index(IndexName)); if (!createResult.Acknowledged) return createResult; // set analyzer SetAnalyzers(client); // put mapping var putResult = client.Map<TranslationMemory>(m => m.Index(this.IndexName).MapFromAttributes()); //var putResult = client.Map<ElasticSearchProject>(m => m.Index(this.IndexName)); return putResult; }
public void MaxRetryExceptionInnerExceptionIsNull() { var nodes = new Uri[] { new Uri("http://invalid_host:9300"), new Uri("http://invalid_host:9400"), new Uri("http://invalid_host:9500") }; var connectionPool = new StaticConnectionPool(nodes); var settings = new ConnectionSettings(connectionPool) .DisablePing(); var client = new ElasticClient(settings); var maxRetryException = Assert.Throws<MaxRetryException>(() => client.GetIndex(g => g.Index("foo"))); maxRetryException.InnerException.Should().NotBeNull(); var aggregateException = maxRetryException.InnerException as AggregateException; aggregateException.Should().NotBeNull(); aggregateException.InnerExceptions.Count.Should().Be(nodes.Count()); }