我目前正在更新我们的elasticsearch代码,以使用Nest的IElasticClient提供的内置连接池。所以在我们使用之前
var settings = new ConnectionSettings(new Uri(connString));
var esClient = new ElasticClient(settings);
现在我希望能够传递已配置的连接池(如Nest's docs中所述),如此
var connectionPool = new SniffingConnectionPool(new[] { new Uri(connString});
var config = new ConnectionConfiguration(connectionPool);
.SniffOnConnectionFault(false)
.SniffOnStartup(false)
.SniffLifeSpan(TimeSpan.FromMinutes(1));
var client = new ElasticsearchClient(config);
但是,他们使用原始ElasticsearchClient来执行此操作。 Nest的ElasticClient构造函数不能传递ConnectionConfiguration,只能传递ConnectionPool。
有谁知道如何将ConnectionConfiguration与ElasticClient一起使用?
答案 0 :(得分:1)
您可以使用Nest.ConnectionSettings
。请参阅以下代码:
var connectionPool = new SniffingConnectionPool(new[] { new Uri(connString});
var config = new ConnectionSettings(connectionPool)
.SniffOnConnectionFault(false)
.SniffOnStartup(false)
.SniffLifeSpan(TimeSpan.FromMinutes(1));
var client = new ElasticClient(config);