交流
Elasticsearch.Net、NEST 交流群:523061899
NEST 索引DataSet数据,先序列化然后转成dynamic 类型进行索引;
/// <summary>
/// 索引dataset
/// </summary>
/// <param name="dataSet"></param>
/// <param name="taskId"></param>
public void Insert(DataSet dataSet,int taskId)
{
StructureData(dataSet);
foreach (DataTable table in dataSet.Tables)
{
string indexName = string.Format("mailtask{0}",taskId);
string typeName = string.Format("{0}info",table.TableName);
//序列化
string js= JsonConvert.SerializeObject(table);
//反序列化
dynamic dc = JsonConvert.DeserializeObject<dynamic>(js);
//索引
IndexManyExtensions.IndexManyAsync(SimpleClient.Client, dc, indexName, typeName); //SimpleClient.Client.IndexMany(dc, indexName, typeName);
}
}
/// <summary>
/// 给datatable 添加列并赋值
/// </summary>
/// <param name="dataSet"></param>
private void StructureData(DataSet dataSet)
{
DateTime sendTime = DateTime.Now;
foreach (DataTable table in dataSet.Tables)
{
table.Columns.Add(new DataColumn("SendTime",typeof(DateTime)) {DefaultValue = sendTime});
}
}