我想使用
Elastic.Clients.Elasticsearch
库在我的 .NET Core 6 项目中进行流畅的映射,但我在文档中找不到任何内容。
NEST 库中的用法:
var createIndexResponse = _client.Indices.Create("myindex", c => c
.Map<Company>(m => m
.Properties(ps => ps
.Text(s => s
.Name(n => n.Name)
)
.Object<Employee>(o => o
.Name(n => n.Employees)
.Properties(eps => eps
.Text(s => s
.Name(e => e.FirstName)
)
.Text(s => s
.Name(e => e.LastName)
)
.Number(n => n
.Name(e => e.Salary)
.Type(NumberType.Integer)
)
)
)
)
)
);
有没有办法将上面的示例与
Elastic.Clients.Elasticsearch
库一起使用?这个库中没有名为 Map
的方法。
或者我可以采取什么方法来做到这一点?我应该回到 NEST 图书馆吗?
老问题,但你应该使用 v8 的
Mappings
方法。
var response = await client.Indices.CreateAsync<Person>(Index, c => c
.Mappings(map => map
.Properties(p => p
.Text(t => t.Id, c => c
.Fields(f => f
.Keyword(k => k, cc => cc
.IgnoreAbove(256)
)
)
)
)
.Properties(p => p
.Text(t => t.City, c => c
.Fields(f => f
.Keyword(k => k, cc => cc
.IgnoreAbove(256)
)
)
)
)
)
);