anchor.diff:                  end
           end,
       IndexFields1 = lists:foldl(F, [], riak_object:get_metadatas(RObj)),
  -    
  +
  +    %% Delete any special fields...
  +    IndexFields2 = [{X, Y} || {X, Y} <- IndexFields1,
  +                              X /= ?BUCKETFIELD,
  +                              X /= ?KEYFIELD],
  +
       %% Add the bucket and key to the list of postings...
  -    IndexFields2 = [
  -                    {<<"$bucket">>, riak_object:bucket(RObj)},
  -                    {<<"$key">>, riak_object:key(RObj)}|
  -                    IndexFields1
  +    IndexFields3 = [
  +                    {?BUCKETFIELD, riak_object:bucket(RObj)},
  +                    {?KEYFIELD, riak_object:key(RObj)}|
  +                    IndexFields2
                      ],
   
       %% Now parse the fields, returning the result.
  -    parse_fields(IndexFields2).
  -
  -
  -%% @spec parse_fields([Field :: {Key:binary(), Value :: binary()}]) -> 
  +    parse_fields(IndexFields3).
  +
  +%% @spec parse_fields([Field :: {Key:binary(), Value :: binary()}]) ->
   %%       {ok, [{Field :: binary(), Value :: term()}]} | {error, [failure_reason()]}.
   %%
   %% @doc Parse the provided index fields. Returns {ok, Fields} if the
  
positive.code: parse_field(Key, Value, [Type|Types]) ->
      %% Run the regex to check if the key suffix matches this data
      %% type.
      {MatchFunction, ParseFunction} = Type,
      case MatchFunction(Key) of
          true ->
              %% We have a match. Parse the value.
              case ParseFunction(Value) of
                  {ok, ParsedValue} -> 
                      {ok, ParsedValue};
                  _ -> 
                      {error, {field_parsing_failed, {Key, Value}}}
              end;
          false ->
  
negative.code:     F = fun({Field, Value}, {ResultAcc, ErrorAcc}) ->
                  Field1 = normalize_index_field(Field),
                  case parse_field(Field1, Value, Types) of
                      {ok, ParsedValue} ->
                          NewResultAcc = [{Field1, ParsedValue} | ResultAcc],
                          {NewResultAcc, ErrorAcc};
                      {error, Reason} ->
                          NewErrorAcc = [Reason | ErrorAcc],
                          {ResultAcc, NewErrorAcc}
                  end
  