Hi Alexander, Unfortunately it didn't shake with any satisfaction. I'm sure there's an easy answer, and I hope I'll get back to search for it some day. But for now me & my pragmatic overlords have gone for a work-around solution that avoids the problem. //Sean.
On Wed, Sep 7, 2016 at 2:06 PM, Alexander Sicular <sicul...@basho.com> wrote: > Hi Sean, Familiarize yourself with the default schema[0], if that is what > you're using. Also check details around this specific type of search around > the web[1]. > > Let us know how it shakes out, > -Alexander > > > [0] https://raw.githubusercontent.com/basho/yokozuna/develop/priv/default_ > schema.xml > [1] http://stackoverflow.com/questions/10023133/solr- > wildcard-query-with-whitespace > > > > On Wednesday, September 7, 2016, sean mcevoy <sean.mce...@gmail.com> > wrote: > >> Hi again! >> >> Apologies for the premature post earlier. I thought I had a solution when >> I didn't get the error but when I got around to plugging it into my >> application it's still not doing everything that I need. >> I've narrowed it down to this minimal testcase, first setup the index & >> insert the data: >> >> >> {ok,Pid} = riakc_pb_socket:start("127.0.0.1", 10017). >> ok = riakc_pb_socket:create_search_index(Pid, <<"test_index">>, >> <<"_yz_default">>, []). >> ok = riakc_pb_socket:set_search_index(Pid, <<"test_bucket">>, >> <<"test_index">>). >> RO = riakc_obj:new(<<"test_bucket">>, <<"test_key">>, >> <<"{\"name_s\":\"my test name\",\"age_i\":2}">>, "application/json"). >> ok = riakc_pb_socket:put(Pid, RO). >> >> >> Now I can get the hit when search for a partial name with wildcards & no >> escapes or spaces: >> 521> >> 521> riakc_pb_socket:search(Pid, <<"test_index">>, <<"name_s:*test* AND >> age_i:2">>, []). >> {ok,{search_results,[{<<"test_index">>, >> [{<<"score">>,<<"1.22776079999999998549e+00">>}, >> {<<"_yz_rb">>,<<"test_bucket">>}, >> {<<"_yz_rt">>,<<"default">>}, >> {<<"_yz_rk">>,<<"test_key">>}, >> {<<"_yz_id">>,<<"1*default*tes >> t_bucket*test_key*57">>}, >> {<<"name_s">>,<<"my test name">>}, >> {<<"age_i">>,<<"2">>}]}], >> 1.2277607917785645,1}} >> >> >> And I can get the hit when I search for the full name with spaces & the >> escaped quotes: >> 522> >> 522> riakc_pb_socket:search(Pid, <<"test_index">>, <<"name_s:\"my test >> name\" AND age_i:2">>, []). >> {ok,{search_results,[{<<"test_index">>, >> [{<<"score">>,<<"1.00736960000000008719e+00">>}, >> {<<"_yz_rb">>,<<"test_bucket">>}, >> {<<"_yz_rt">>,<<"default">>}, >> {<<"_yz_rk">>,<<"test_key">>}, >> {<<"_yz_id">>,<<"1*default*tes >> t_bucket*test_key*58">>}, >> {<<"name_s">>,<<"my test name">>}, >> {<<"age_i">>,<<"2">>}]}], >> 1.0073696374893188,1}} >> >> >> But how can I search for a partial name with spaces: >> 523> >> 523> riakc_pb_socket:search(Pid, <<"test_index">>, <<"name_s:\"*y test >> na*\" AND age_i:2">>, []). >> {ok,{search_results,[],0.0,0}} >> 524> >> 524> >> >> >> I get the feeling that I'm missing something really obvious but can't see >> it. Any more pointers appreciated! >> >> //Sean. >> >> >> On Wed, Sep 7, 2016 at 10:11 AM, sean mcevoy <sean.mce...@gmail.com> >> wrote: >> >>> Hi Jason, >>> >>> Thanks for the kick, I just needed to look closer! >>> Yes, had tried escaping but one of my utility functions for dynamically >>> building the search string had been stripping it out again. D'oh! >>> >>> Curiously, just escaping the space doesn't work as in the example in the >>> stackoverflow post. >>> Putting the search term in an inner string and escaping its quotes both >>> feels more natural and does work so I'm going with something more like: >>> >>> 409> >>> 409> >>> 409> riakc_pb_socket:search(Pid, <<"test_index">>, <<"name_s:\"we rt\" >>> AND age_i:0">>, []). >>> {ok,{search_results,[],0.0,0}} >>> 410> >>> 410> >>> 410> riakc_pb_socket:search(Pid, <<"test_index">>, <<"name_s:we\ rt AND >>> age_i:0">>, []). >>> {error,<<"Query unsuccessful check the logs.">>} >>> 411> >>> 411> >>> >>> Cheers, >>> //Sean. >>> >>> >>> On Tue, Sep 6, 2016 at 2:48 PM, Jason Voegele <jvoeg...@basho.com> >>> wrote: >>> >>>> Hi Sean, >>>> >>>> Have you tried escaping the space in your query? >>>> >>>> http://stackoverflow.com/questions/10023133/solr-wildcard-qu >>>> ery-with-whitespace >>>> >>>> >>>> On Sep 5, 2016, at 6:24 PM, sean mcevoy <sean.mce...@gmail.com> wrote: >>>> >>>> Hi List, >>>> >>>> We have a solr index where we store something like: >>>> <<"{\"key_s\":\"ID\",\"body_s\":\"some test string\"}">>}], >>>> >>>> Then we try to do a riakc_pb_socket:search with the pattern: >>>> <<"body_s:*test str*">> >>>> >>>> The request will fail with an error message telling us to check the >>>> logs and in there we find: >>>> >>>> 2016-09-05 13:37:29.271 [error] <0.12067.10>@yz_pb_search:maybe_process:107 >>>> {solr_error,{400,"http://localhost:10014/internal_solr/crm_d >>>> b.campaign_index/select",<<"{\"error\":{\"msg\":\"no field name >>>> specified in query and no default specified via 'df' >>>> param\",\"code\":400}}\n">>}} [{yz_solr,search,3,[{file,"src >>>> /yz_solr.erl"},{line,284}]},{yz_pb_search,maybe_process,3,[{ >>>> file,"src/yz_pb_search.erl"},{line,78}]},{riak_api_pb_server >>>> ,process_message,4,[{file,"src/riak_api_pb_server.erl"},{lin >>>> e,388}]},{riak_api_pb_server,connected,2,[{file,"src/riak_ >>>> api_pb_server.erl"},{line,226}]},{riak_api_pb_server,decode_ >>>> buffer,2,[{file,"src/riak_api_pb_server.erl"},{line,364}]},{ >>>> gen_fsm,handle_msg,7,[{file,"gen_fsm.erl"},{line,505}]},{ >>>> proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}] >>>> >>>> >>>> Through experiment I've figured out that it doesn't like the space as >>>> it seems to think the part of the search string after that space is a new >>>> key to search for. Which seems fair enough. >>>> >>>> Anyone know of a work-around? Or am I formatting my request incorrectly? >>>> >>>> Thanks in advance. >>>> //Sean. >>>> >>>> _______________________________________________ >>>> riak-users mailing list >>>> riak-users@lists.basho.com >>>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com >>>> >>>> >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> riak-users mailing list >>>> riak-users@lists.basho.com >>>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com >>>> >>>> >>> >> > > -- > > > Alexander Sicular > Solutions Architect > Basho Technologies > 9175130679 > @siculars > >
_______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com