如何在 elasticsearch 嵌套中添加用于索引创建的条件属性?



我想创建带有某些条件的索引,例如使用查询容器添加条件过滤器。

PropertiesDescriptor<object> ps = new PropertiesDescriptor<object>();
if (condition)
{
ps.Text(s => s.Name(name[1]));
}
if(condition)
{
ps.Number(s => s.Name(name[1]));
}
if (!_con.client.Indices.Exists(indexname).Exists)
{
var createIndexResponse = _con.client.Indices.Create(indexname, index => index.Settings(s => s.NumberOfShards(1).NumberOfReplicas(0))
                          .Map(m=>m.Properties(ps)));
}

但是我收到以下错误,您能否指导我如何实现此目标。

cannot convert from 'Nest.PropertiesDescriptor<object>' to 'System.Func<Nest.PropertiesDescriptor<object>, Nest.IPromise<Nest.IProperties>>'

你快到了,只需将Properties部分更改为m.Properties(p => ps)即可。

_con.client.Indices.Create(indexname, 
index => index.Settings(s => s.NumberOfShards(1).NumberOfReplicas(0)).Map(m=>m.Properties(p => ps)));

希望有帮助。

相关内容

  • 没有找到相关文章

最新更新