2016-01-12 2 views
1

Когда я создаю сопоставление схемы с помощью NEST с моим типом, я получаю следующее исключение из ElasticSearch.Elastic Search - Nest Boolean Field Mapping

 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

Я не уверен, что вы пытаетесь сделать здесь. Можете ли вы опубликовать свое ожидаемое отображение в вопросе? Затем я могу помочь вам создать его с помощью Nest. – bittusarkar

+0

Благодарим вас за быстрый ответ. Мой вопрос в том, как мы создаем schemamapping для логического типа данных с помощью Nest. Building Nest.ObjectMapping для булевого типа, как описано выше, и вызова ElasticClient.MapAsync (запрос). Дайте мне знать, если вы все еще не поняли? – Sasi

ответ

0

Я нашел разрешение для этого отображения типа Буля, которое нам нужно указать 'FieldIndexOption.No' при отображении булевого типа через NEST.

Смежные вопросы