anchor.diff:              NewQueries = queue:in({QueryField, QueryTerm}, State#state.queries),
               {ok, State#state { queries=NewQueries }}
       end;
  +
  +run(search, _KeyGen, _ValueGen,
  +    S=#state{'query'=Query, expected=E, nodes=Nodes})
  +  when Query /= undefined ->
  +    %% Query will be a list of 1-3 args [Index, Query, Filter]
  +    %% e.g. ["index", "field:bar", "text:hello"]
  +    Node = choose(Nodes),
  +    Args = lists:map(fun list_to_binary/1, Query),
  +    {N, _} = rpc:call(Node, search, search, Args),
  +    case E of
  +        undefined -> {ok, S};
  +        _ ->
  +            if N == E -> {ok, S};
  +               true ->
  +                    {error, ?FMT("Expected ~p but received ~p", [E, N]), S}
  +            end
  +    end;
  +
   run(search, _KeyGen, _ValueGen, State) ->
       case queue:out(State#state.queries) of
           {{value, {QueryField, QueryTerm}}, NewQueries} ->
  
positive.code: 
  new(_Id) ->
      MyNode = basho_bench_config:get(riaksearch_node),
      Cookie = basho_bench_config:get(riaksearch_cookie),
      net_kernel:start([MyNode]),
      erlang:set_cookie(node(), Cookie),
  
  
negative.code: %% Copyright (c) 2007-2010 Basho Technologies, Inc.  All Rights Reserved.
  %%
  %% -------------------------------------------------------------------
  -module(basho_bench_driver_riaksearch).
  
  -export([
      new/1,
      run/4,
      valgen/3,
      file_to_array/2
  ]).
  
  -define(FMT(Str, Args), lists:flatten(io_lib:format(Str, Args))).
  -record(state, { nodes, fields, terms, queries, 'query', expected}).
  
  %% ====================================================================
  %% API
  