Index = FieldIndexOption.No vs OptOut =true?
Index = FieldIndexOption.No vs OptOut =true?
和
有什么区别
[ElasticProperty(OptOut =true)]
和
[ElasticProperty(Index = FieldIndexOption.No)]
根据回答 here,据说 optout = true
没有索引 属性。我以为 Index = FieldIndexOption.No
正在这样做。
为了便于解释,让我们考虑下面的 class:
[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
的对象时,字段 Comments
的值将被完全忽略。简单地说,Elasticsearch 对该领域没有知识Comments
。它仅供您的客户端应用程序使用,可能用于某些 book-keeping 目的。 blog
类型的映射定义如下:
{
"mappings": {
"blog": {
"properties": {
"id": {
"type": "integer"
},
"title": {
"type": "string",
"index": "no"
}
}
}
}
}
请注意 title
字段存在。如果标记为 Index = FieldIndexOption.No
,您将无法在 title
字段中搜索值,但您当然可以在搜索请求的匹配文档中检索它的值。希望这能回答您的问题。
和
有什么区别[ElasticProperty(OptOut =true)]
和
[ElasticProperty(Index = FieldIndexOption.No)]
根据回答 here,据说 optout = true
没有索引 属性。我以为 Index = FieldIndexOption.No
正在这样做。
为了便于解释,让我们考虑下面的 class:
[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
的对象时,字段 Comments
的值将被完全忽略。简单地说,Elasticsearch 对该领域没有知识Comments
。它仅供您的客户端应用程序使用,可能用于某些 book-keeping 目的。 blog
类型的映射定义如下:
{
"mappings": {
"blog": {
"properties": {
"id": {
"type": "integer"
},
"title": {
"type": "string",
"index": "no"
}
}
}
}
}
请注意 title
字段存在。如果标记为 Index = FieldIndexOption.No
,您将无法在 title
字段中搜索值,但您当然可以在搜索请求的匹配文档中检索它的值。希望这能回答您的问题。