anchor.diff:      DefaultEnabled = get_default_enabled(IdxProps),
       IndexArrayLengths = get_index_array_lengths(IdxProps),
       FieldsList = get_text_field_list(IdxProps),
  -    TAcc = #tacc{index_array_lengths = IndexArrayLengths, fields = FieldsList},
  +    TAcc = #tacc{
  +        index_arrray_lengths = IndexArrayLengths,
  +        fields = FieldsList
  +    },
       Fields0 = get_text_field_values(Doc, TAcc),
       Fields = if not DefaultEnabled -> Fields0; true ->
           add_default_text_field(Fields0)
  
positive.code: get_text_field_values_obj([], _, FAcc) ->
      FAcc;
  get_text_field_values_obj([{Key, Val} | Rest], TAcc, FAcc) ->
      IndexArrayLengths = TAcc#tacc.index_array_lengths,
      NewPath = [Key | TAcc#tacc.path],
      NewTAcc = TAcc#tacc{index_array_lengths = IndexArrayLengths, path = NewPath},
      Fields = get_text_field_values(Val, NewTAcc),
      get_text_field_values_obj(Rest, TAcc, Fields ++ FAcc).
  
  
negative.code: get_text_field_values(Values, TAcc) when is_list(Values) ->
      IndexArrayLengths = TAcc#tacc.index_array_lengths,
      NewPath = ["[]" | TAcc#tacc.path],
      NewTAcc = TAcc#tacc{path = NewPath},
      case IndexArrayLengths of 
          true ->
              % We bypass make_text_field and directly call make_text_field_name
              % because the length field name is not part of the path.
              LengthFieldName = make_text_field_name(NewTAcc#tacc.path, <<"length">>),
              LengthField = [{LengthFieldName, <<"length">>, length(Values)}],
              get_text_field_values_arr(Values, NewTAcc, LengthField);
  
          _ ->
              get_text_field_values_arr(Values, NewTAcc, [])
      end;
  get_text_field_values(Bin, TAcc) when is_binary(Bin) ->
      make_text_field(TAcc, <<"string">>, Bin);
  