为了便于说明,请考虑以下类:
[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
如下:
{
"mappings": {
"blog": {
"properties": {
"id": {
"type": "integer"
},
"title": {
"type": "string",
"index": "no"
}
}
}
}
}
请注意该title
字段存在。如果标记为Index = FieldIndexOption.No
,则无法在该title
字段中搜索值,但是可以在搜索请求的匹配文档中检索其值。希望这能回答您的问题。