1

当我使用 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 字段未标记化。请帮我解决这个问题?

4

1 回答 1

0

我找到了这个布尔类型映射的解决方案,我们需要在通过 NEST 映射布尔类型时指定“FieldIndexOption.No”。

于 2016-01-21T18:54:20.400 回答