目前,我一直在使用REST Api添加映射,并使用NEST以编程方式索引文档。
但是,我最近遇到了NEST的DefaultMappingFor(在ConnectionSettings中),并想知道它是如何使用的。 (因此不会很快飙升。)
问题:在源代码中,如果我使用DefaultMappingFor设置映射,这是否意味着没有必要使用Rest Api创建映射,因为,可能(我认为)和NEST每当文档被编入索引时,它将使用声明的默认映射吗?
谢谢。
答案 0 :(得分:0)
DefaultMappingFor()
and DefaultMappingFor<T>()
允许您配置给定CLR类型的默认值。两者都允许您配置:
.IndexName()
方法.TypeName()
方法.RelationName()
方法此外,DefaultMappingFor<T>()
允许您配置:
.IdProperty()
方法.Routing()
方法.Ignore()
方法.PropertyName()
方法为类型设置任何这些意味着NEST将使用它们的任何约定。典型的使用方法是.IndexName()
和.TypeName()
(尽管types are removed in Elasticsearch 6.x),这意味着您不需要在每个请求中指定其中任何一个(除非您要覆盖)这个默认映射也是。)