我目前正在更新我们的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构造函数不提供仅通过ConnectionPool传入ConnectionConfiguration的功能。

有谁知道如何在ElasticClient中使用ConnectionConfiguration?

最佳答案

您可以为此使用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 - 配置ElasticClient连接池,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28206820/

10-12 18:40