【发布时间】:2020-09-17 14:00:24
【问题描述】:
这是我的连接文件
this IServiceCollection services, IConfiguration configuration)
{
var EsNode = configuration["elasticsearch:AcqDataUrl"];
var NCTNode = configuration["elasticsearch:NCTDataUrl"];
var nodes = new Uri[]
{
new Uri(EsNode),
new Uri(NCTNode)
};
var pool = new StaticConnectionPool(nodes);
var connection = new ConnectionSettings(pool).DisableDirectStreaming();
EsClient = new ElasticClient(connection);
var settings = new IndexSettings { NumberOfReplicas = 1, NumberOfShards = 2 };
var indexConfig = new IndexState
{
Settings = settings
};
这里我想定义应该在哪个节点上创建索引是多个节点之间的节点[0]或节点[1]它在第一个节点上创建索引
{
EsClient.Indices.Create(configuration["elasticsearch:AcquiringIndex"], c => c
.InitializeUsing(indexConfig)
.Mappings(m => m.Map<Acquirer>(mp => mp.AutoMap())));
}
if (!EsClient.Indices.Exists(configuration["elasticsearch:ElasticR&DIndex"]).Exists)
{
EsClient.Indices.Create(configuration["elasticsearch:ElasticR&DIndex"], c => c
.InitializeUsing(indexConfig)
.Mappings(m => m.Map<Employee>(mp => mp.AutoMap())));
}
if (!EsClient.Indices.Exists(configuration["elasticsearch:NetConnectTransactionIndex"]).Exists)
{
EsClient.Indices.Create(configuration["elasticsearch:NetConnectTransactionIndex"], c => c
.InitializeUsing(indexConfig)
.Mappings(m => m.Map<TransactionDto>(mp => mp.AutoMap())));
}
services.AddSingleton<IElasticClient>(EsClient);
}
我想从 Singleton 开始传递这两个连接并在 Startup.cs 中调用它,因为它将在继承 Controller 的类中用于进一步查询
【问题讨论】:
标签: c# elasticsearch nest