[英]How to automap in Nest without writing to the elasticsearch index?
是否可以利用NEST 自动映射功能获取Nest属性和Type对象,而无需通过PUT映射和Create Index API将它们实际写入弹性索引中?
例如,我想自动映射此CLR类Company:
public class Company
{
public string Name { get; set; }
}
并将弹性映射存储到以下变量中:
Nest.TypeMapping typeCo = null; // for the mapped Company type
Nest.IProperty propCoName = null; // for the mapped Company Name property
但不要将公司映射写入索引。
我可以写一个临时索引作为一种解决方法,但是我怀疑这是没有必要的。
使用elasticsearch 5.x和Nest 5。
根据您的实际需要,可以采取几种不同的方法
PropertyWalker
var walker = new PropertyWalker(typeof(Company), null);
var properties = walker.GetProperties();
将提供通过自动映射推断出的IProperty
类型。
TypeMappingDescriptor<T>
var descriptor = (ITypeMapping)new TypeMappingDescriptor<Company>()
.AutoMap();
将提供IProperty
在类型.Properties
从自动映射推断,除了任何其它属性的属性ITypeMapping
。 需要在这里使用的描述,而不是TypeMapping
因为描述符的.AutoMap()
方法。 还需要强制转换为接口,因为已明确实现接口属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.