之间有什么区别
[ElasticProperty(OptOut =true)]
和
[ElasticProperty(Index = FieldIndexOption.No)]
根据这里的回答,据说optout =true没有索引属性。我以为Index = FieldIndexOption.No正在这样做。
optout =true
Index = FieldIndexOption.No
为了便于说明,请考虑以下类:
[ElasticType(Name = "blog")] public class Blog { [ElasticProperty(Name = "id")] public int Id { get; set; } [ElasticProperty(Name = "title", Index = FieldIndexOption.No)] public string Title { get; set; } [ElasticProperty(OptOut = true)] public string Comments { get; set; } }
当您索引class的对象时Blog,field的值将Comments被完全忽略。简而言之,Elasticsearch不了解该领域Comments。它只是供您的客户端应用程序使用,可能用于某些簿记目的。类型的映射定义blog如下:
Blog
Comments
blog
{ "mappings": { "blog": { "properties": { "id": { "type": "integer" }, "title": { "type": "string", "index": "no" } } } } }
请注意该title字段存在。如果标记为Index = FieldIndexOption.No,则无法在该title字段中搜索值,但是可以在搜索请求的匹配文档中检索其值。希望这能回答您的问题。
title