如何在 Elastic Search 中使用 NEST(1.8) 索引字符串数组?
How to Index Array of String using NEST(1.8) in Elastic Search?
我想使用 NEST(1.8) C# 在 Elastic Search 中索引字符串数组。
这是我的映射
using Nest;
using System;
using System.Data;
namespace ElasticSearch_Final
{
//[ElasticType(IdProperty = "Id", Name = "indexMapping")]
public class indexMapping
{
[ElasticProperty(Name = "Field1", Index = FieldIndexOption.NotAnalyzed, Type = FieldType.String, Store = true)]
public Guid? Field1 { get; set; }
[ElasticProperty(Name = "Field2", Index = FieldIndexOption.NotAnalyzed, Type = FieldType.String, Store = true)]
public string Field2 { get; set; }
[ElasticProperty(Name = "Field3", Index = FieldIndexOption.NotAnalyzed, Type = FieldType.String, Store = true)]
public string Field3 { get; set; }
[ElasticProperty(Name = "Field4", Index = FieldIndexOption.NotAnalyzed, Type = FieldType.String, Store = true)]
public string Field1 { get; set; }
[ElasticProperty(Name = "Field4", Index = FieldIndexOption.NotAnalyzed, Type = FieldType.String, Store = true)]
public string Field1 { get; set; }
[ElasticProperty(Name = "Data", Index = FieldIndexOption.Analyzed, Type = FieldType.String, Store = false)]
public string[] Data { get; set; }
}
}
我希望这个字段被索引为字符串数组。
[ElasticProperty(Name = "Data", Index = FieldIndexOption.Analyzed, Type = FieldType.String, Store = false)]
public string[] Data { get; set; }
但是ElasticProperty中没有Array这样的Field类型!
那么,我应该使用哪种 FieldType 或任何其他选项来索引字符串数组数据?
我将 link 向您介绍弹性文档。
array datatype
Elastic中的字段默认可以包含0个、1个或多个值,不需要指定数组。唯一的要求是数组中的所有数据都是同一类型。
所以要索引一个数组,在Elastic中指定Data为字符串,索引时只传递一个字符串数组。 Elastic 会将其索引为 JSON 数组。
根据您发布的代码判断,这应该可以为 Data 上的字符串数组建立索引。
我想使用 NEST(1.8) C# 在 Elastic Search 中索引字符串数组。
这是我的映射
using Nest;
using System;
using System.Data;
namespace ElasticSearch_Final
{
//[ElasticType(IdProperty = "Id", Name = "indexMapping")]
public class indexMapping
{
[ElasticProperty(Name = "Field1", Index = FieldIndexOption.NotAnalyzed, Type = FieldType.String, Store = true)]
public Guid? Field1 { get; set; }
[ElasticProperty(Name = "Field2", Index = FieldIndexOption.NotAnalyzed, Type = FieldType.String, Store = true)]
public string Field2 { get; set; }
[ElasticProperty(Name = "Field3", Index = FieldIndexOption.NotAnalyzed, Type = FieldType.String, Store = true)]
public string Field3 { get; set; }
[ElasticProperty(Name = "Field4", Index = FieldIndexOption.NotAnalyzed, Type = FieldType.String, Store = true)]
public string Field1 { get; set; }
[ElasticProperty(Name = "Field4", Index = FieldIndexOption.NotAnalyzed, Type = FieldType.String, Store = true)]
public string Field1 { get; set; }
[ElasticProperty(Name = "Data", Index = FieldIndexOption.Analyzed, Type = FieldType.String, Store = false)]
public string[] Data { get; set; }
}
}
我希望这个字段被索引为字符串数组。
[ElasticProperty(Name = "Data", Index = FieldIndexOption.Analyzed, Type = FieldType.String, Store = false)]
public string[] Data { get; set; }
但是ElasticProperty中没有Array这样的Field类型!
那么,我应该使用哪种 FieldType 或任何其他选项来索引字符串数组数据?
我将 link 向您介绍弹性文档。 array datatype
Elastic中的字段默认可以包含0个、1个或多个值,不需要指定数组。唯一的要求是数组中的所有数据都是同一类型。
所以要索引一个数组,在Elastic中指定Data为字符串,索引时只传递一个字符串数组。 Elastic 会将其索引为 JSON 数组。
根据您发布的代码判断,这应该可以为 Data 上的字符串数组建立索引。