anchor.diff:    #state{conn = Conn, bucket = Bucket, index = Index, del_opts = Opts} = State,
     TranslatedConditions = transform_conditions(DocName, Conditions),
     Query = build_query(TranslatedConditions, Bucket),
  -  case search_docs_by(DocName, Conn, Index, Query, 0, 0) of
  +  case search_keys_by(Conn, Index, Query, [], 0, 0) of
       {ok, {Total, Res}}  ->
  -      delete_docs(Conn, Bucket, Res, Opts),
  +      delete_keys(Conn, Bucket, Res, Opts),
         {ok, Total, State};
       {error, Error} ->
         {error, Error, State}
  
positive.code:     fun(R) -> riakc_register:set(sumo_utils:to_bin(V), R) end,
      RMap).
  
  %% @private
  kv_to_doc(DocName, KV) ->
    wakeup(lists:foldl(fun({K, V}, Acc) ->
      NK = normalize_doc_fields(K),
      sumo_internal:set_field(sumo_utils:to_atom(NK), V, Acc)
    end, sumo_internal:new_doc(DocName), KV)).
  
  %% @private
  normalize_doc_fields(Src) ->
    re:replace(
      Src, <<"_register|_set|_counter|_flag|_map">>, <<"">>,
      [{return, binary}, global]).
  
  %% @private
  stream_keys(Conn, Bucket, F, Acc) ->
  
negative.code:       end;
      _ ->
        Query = build_query(Conditions, Bucket),
        case search_keys_by(Conn, Index, Query, [], 0, 0) of
          {ok, {Total, Res}}  ->
            delete_keys(Conn, Bucket, Res, Opts),
            {ok, Total, State};
          {error, Error} ->
            {error, Error, State}
  