当我使用NEST创建模式映射时,我的类型是从ElasticSearch获取异常。
public class MyClass{
{
.....
[ElasticProperty(Index = FieldIndexOption.NotAnalyzed, IncludeInAll = false,Type = FieldType.Boolean)]
public bool IsActive { get; set; }
}
private static void BuildSchema(ObjectMapping mapping)
{
var objItem = new MyClass();
var baseItemProps = objItem.GetType().GetProperties();
foreach (var baseProp in baseItemProps)
{
var basePropName = Convert.ToString(baseProp.Name);
var baseFieldType = Convert.ToString(baseProp.PropertyType);
mapping.Properties.Add(new KeyValuePair<PropertyNameMarker, IElasticType>(
new PropertyNameMarker { Name = basePropName },
new BooleanMapping { Index = (NonStringIndexOption)FieldIndexOption.NotAnalyzed}));
}
}
当我使用上述请求创建映射时会出现异常。 Bool字段不是标记化的。请帮我解决这个问题?。
答案 0 :(得分:0)
我找到了这个布尔类型映射的分辨率,我们需要在通过NEST映射布尔类型时指定'FieldIndexOption.No'。