配置 ElasticClient 连接池
Configuring ElasticClient connection pooling
我目前正在更新我们的 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 一起使用吗?
您可以为此使用 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);
我目前正在更新我们的 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 一起使用吗?
您可以为此使用 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);