anchor.diff:      OrgInfo = {OrgId, OrgName},
       reindex_by_id(Ctx, OrgInfo, Index, Ids).
   
  +%% @doc Reindex the specified `Index' in `OrgName'. This function avoids use of rabbitmq and
  +%% POSTs updates directly to `SolrUrl'. Flatten/expand is handled by `chef_index_expand'
  +%% which also takes care of POSTing the data to solr. When this function returns, all
  +%% objects in the specified index will have been reindexed and received by solr.
  +%%
  +%% The `chef_wm' app's `bulk_fetch_batch_size' is used to determine both the size of the
  +%% batch of objects to `bulk_get' from the db and the size of the multi-doc POSTs sent to
  +%% solr. Parallelization of flatten/expand is the responsibility of `chef_index_expand' and
  +%% is not a concern of this code.
  +-spec ez_reindex_direct(binary(), index(), string()) -> ok.
  +ez_reindex_direct(OrgName, Index, SolrUrl) ->
  +    DbCtx = make_context(),
  +    OrgId = chef_db:fetch_org_id(DbCtx, OrgName),
  +    NameIdDict = chef_db:create_name_id_dict(DbCtx, Index, OrgId),
  +    AllIds = all_ids_from_name_id_dict(NameIdDict),
  +    BatchSize = envy:get(chef_wm, bulk_fetch_batch_size, pos_integer),
  +    ObjType = chef_object_type(Index),
  +    DoBatch = fun(Batch, _Acc) ->
  +                      Objects = chef_db:bulk_get(DbCtx, OrgName, ObjType, Batch),
  +                      send_direct_to_solr(OrgId, Index, Objects, NameIdDict, SolrUrl)
  +              end,
  +    chefp:batch_fold(DoBatch, AllIds, ok, BatchSize),
  +    ok.
  +
  +all_ids_from_name_id_dict(NameIdDict) ->
  +    dict:fold(fun(_K, V, Acc) -> [V|Acc] end,
  +              [],
  +              NameIdDict).
  +
   -spec ez_name_id_dict(binary(), index()) -> dict().
   ez_name_id_dict(OrgName, Index) ->
       Ctx = make_context(),
  
positive.code: -spec reindex_by_id(DbContext :: chef_db:db_context(),
                      OrgInfo :: org_info(),
                      Index :: index(),
                      Ids :: [binary()]) -> ok.
  reindex_by_id(Ctx, {OrgId, _OrgName} = OrgInfo, Index, Ids) ->
      %% This is overkill, but workable until we have more robust reindexing
      NameIdDict = chef_db:create_name_id_dict(Ctx, Index, OrgId),
  
negative.code:          ez_name_id_dict/2,
           ez_reindex_by_id/3,
           ez_reindex_by_name/3,
           ez_reindex_direct/3,
           ez_reindex_from_file/1,
           make_context/0,
           reindex/2,
  