anchor.diff:  single4_test() ->
       test_helper("field2:valueZZZ?", false).
   
  +%% Ugh, theres are few things I don't like about this but for the sake
  +%% of just getting the tests to run I'll bypass `riak_search_config'
  +%% and `riak_search_client'.  The main problem is that many funs are
  +%% impure (i.e. rely on an actual running Riak instance) when they
  +%% don't need to be.  This is because they call
  +%% `riak_search_config:get_schema' which reqguires a running instance
  +%% if you pass in an index.  Furthermore the put_schema and client
  +%% require a running instance.  A much saner way to do this would be
  +%% to get the schema at the outskirt of the API and thread the
  +%% resulting datastructure through the rest of the calls.  This was
  +%% the functions are once again pure and easily tested.
   test_helper(Query, ExpectedResult) ->
       %% Set the schema...
       RawSchema = iolist_to_binary(io_lib:format("~p.", [schema()])),
  -    riak_search_config:put_raw_schema(?INDEX, RawSchema),
  -    {ok, Schema} = riak_search_config:get_schema(?INDEX),
  +    {ok, RawSchema2} = riak_search_utils:consult(RawSchema),
  +    {ok, Schema} = riak_search_schema_parser:from_eterm(?INDEX, RawSchema2),
       
       %% Create the doc, analyze, and get the properties from the first
       %% posting...
  -    IdxDoc = riak_indexed_doc:analyze(doc()),
  +    IdxDoc = riak_indexed_doc:analyze(doc(Schema)),
       Postings = riak_indexed_doc:postings(IdxDoc),
       Props = element(5, hd(Postings)),
   
  -    %% Parse the FilterOps...
  -    {ok, C} = riak_search:local_client(),
  -    {ok, FilterOps} = C:parse_filter(?INDEX, Query),
  +    {ok, FilterOps} = lucene_parser:parse(
  +                        riak_search_utils:to_list(Schema:name()),
  +                        riak_search_utils:to_list(Schema:default_field()),
  +                        riak_search_utils:to_list(Query)),
   
       ?assertEqual(passes_inlines(Schema, Props, FilterOps), ExpectedResult).
              
  
positive.code:     passes_inlines_1(Props, Ops, NewState);
        
  passes_inlines_1(Props, #intersection { ops=Ops }, State) ->
      F = fun(X) -> passes_inlines_1(Props, X, State) end, 
      lists:all(F, Ops);
  
  passes_inlines_1(Props, #union { ops=Ops }, State) -> 
      F = fun(X) -> passes_inlines_1(Props, X, State) end, 
      lists:any(F, Ops);
  
  passes_inlines_1(Props, #group { ops=Ops }, State) -> 
  
negative.code:               {<<"int_field2">>, <<"50">>},
                {<<"int_field3">>, <<"-50">>}
               ],
      riak_indexed_doc:new(Schema, <<"doc1">>, Fields, []).
  
  
  term1_test() ->
  