elasticsearch - 在映射中设置自定义类型名称
问题描述
我需要创建一个具有自定义名称的文档映射。目前,我的文档在 CreateIndexDescriptor 对象上有以下映射:
.Mappings(m => m
.Map<MyDocType>(mDetails => mDetails.AutoMap()));
它创建了一个名为 mydoctype 的文档映射。如何修改它以创建类型名称为 my_doctype 的文档?
解决方案
在 NEST 7.x 中,这是不可能的 - 文档类型将符合删除映射类型_doc
的路线图。
在 NEST 6.x 中,您可以通过几种不同的方式指定要使用的类型名称:
ElasticsearchTypeAttribute
在 POCO 上使用[ElasticsearchType(Name = "my_doctype")] public class MyDocType{ }
DataContractAttribute
在 POCO 上使用[DataContract(Name = "my_doctype")] public class MyDocType{ }
使用
.DefaultMappingFor<T>()
_ConnectionSettings
var settings = new ConnectionSettings() .DefaultMappingFor<MyDocType>(m => m .IndexName("my_doc_type_default_index") .TypeName("my_doctype") ); var client = new ElasticClient(settings);
推荐阅读
- microsoft-graph-api - Graph API 中的 `/messages` 是否包含共享邮箱?
- java - 按下按钮后数据未显示在 recyclerview 上
- spring - Spring Cloud Stream Rabbit Binding - 1 通道与多个绑定
- c# - Xamarin.Forms iOS Maps MapClicked 事件在 PinClicked 事件之前调用
- java - 编码不适用于某些字符
- asp.net-core-5.0 - 身份验证请求被拒绝,因为令牌没有附加受众
- javascript - 将代码从 VBA(Word)翻译成 Javascript/JScript 不起作用
- elasticsearch - Term 加入不与法国部门合作的 Kibana 地图
- python - 在单独的数据框中匹配具有多个标签的数据
- c - 谁能帮我调试一下?