Ajit, Riak Search doesn't exactly support nested fields. The default extractor will flatten the fields in the input by joining the field and subfield names with underscore. (example below)
I'm not totally clear on what you are trying to accomplish, so I'll run through an example and hope it clears up some confusion. The data as pasted in the original email confuses the extractor since the same fields are duplicated with the object: ``` root@sitea2:~# search-cmd install testbucket :: Installing Riak Search <--> KV hook on bucket 'testbucket'. root@sitea2:~# curl http://sitea2:8098/buckets/testbucket/keys/emp1 -XPUT -H "content-type: application/json" -d ' { "employee":{ "employee_name":"Raghav Maitra", "employee_id":"1001", "designation":"Technical Analyst", "emp_contract_no":"1987-XXVI", "department": {"dept_name":"ADW", "sub_dept_name":"A1", "dept_id":"A1-2001", "dept_description":"Analysis and Devlopement Wing", "dept_site_name":"Diego Gracia" } "employee_name":"Ajit", "employee_id":"1002", "designation":"Technical Analyst", "emp_contract_no":"2001-XXVI", "department": {"dept_name":"ADW", "sub_dept_name":"A1", "dept_id":"A1-2001", "dept_description":"Analysis and Devlopement Wing", "dept_site_name":"Diego Gracia" } }' <html><head><title>500 Internal Server Error</title></head><body><h1>Internal Server Error</h1>The server encountered an error while processing this request:<br><pre>{error, {error,badarg, [{erlang,iolist_to_binary, [{hook_crashed, {riak_search_kv_hook,precommit,error,function_clause}}], []}, {wrq,append_to_response_body,2,[{file,"src/wrq.erl"},{line,215}]}, {riak_kv_wm_object,handle_common_error,3, [{file,"src/riak_kv_wm_object.erl"},{line,1046}]}, {webmachine_resource,resource_call,3, [{file,"src/webmachine_resource.erl"},{line,186}]}, {webmachine_resource,do,3, [{file,"src/webmachine_resource.erl"},{line,142}]}, {webmachine_decision_core,resource_call,1, [{file,"src/webmachine_decision_core.erl"},{line,48}]}, {webmachine_decision_core,accept_helper,1, [{file,"src/webmachine_decision_core.erl"},{line,612}]}, {webmachine_decision_core,decision,1, [{file,"src/webmachine_decision_core.erl"},{line,580}]}]}}</pre><P><HR><ADDR ESS>mochiweb+webmachine web server</ADDRESS></body></html> ``` Adding them separately allows each to be indexed: ``` root@sitea2:~# curl http://sitea2:8098/buckets/testbucket/keys/emp1 -XPUT -H "content-type: application/json" -d '{ "employee":{ "employee_name":"Raghav Maitra", "employee_id":"1001", "designation":"Technical Analyst", "emp_contract_no":"1987-XXVI", "department": {"dept_name":"ADW", "sub_dept_name":"A1", "dept_id":"A1-2001", "dept_description":"Analysis and Devlopement Wing", "dept_site_name":"Diego Gracia" }, } }' root@sitea2:~# curl http://sitea2:8098/buckets/testbucket/keys/emp2 -XPUT -H "content-type: application/json" -d '{ "employee":{ "employee_name":"Ajit", "employee_id":"1002", "designation":"Technical Analyst", "emp_contract_no":"1987-XXVI", "department": {"dept_name":"ADW", "sub_dept_name":"A1", "dept_id":"A1-2001", "dept_description":"Analysis and Devlopement Wing", "dept_site_name":"Diego Gracia" }, } }' ``` After these puts, the following terms exist in the search index: ``` {{<<"testbucket">>,{<<"employee_department_dept_description">>,<<"Analysis" >>}} {{<<"testbucket">>,{<<"employee_department_dept_description">>,<<"and">>}} {{<<"testbucket">>,{<<"employee_department_dept_description">>,<<"Devlopeme nt">>}} {{<<"testbucket">>,{<<"employee_department_dept_description">>,<<"Wing">>}} {{<<"testbucket">>,{<<"employee_department_dept_id">>,<<"A1-2001">>}} {{<<"testbucket">>,{<<"employee_department_dept_name">>,<<"ADW">>}} {{<<"testbucket">>,{<<"employee_department_dept_site_name">>,<<"Diego">>}} {{<<"testbucket">>,{<<"employee_department_dept_site_name">>,<<"Gracia">>}} {{<<"testbucket">>,{<<"employee_department_sub_dept_name">>,<<"A1">>}} {{<<"testbucket">>,{<<"employee_designation">>,<<"Analyst">>}} {{<<"testbucket">>,{<<"employee_designation">>,<<"Technical">>}} {{<<"testbucket">>,{<<"employee_emp_contract_no">>,<<"1987-XXVI">>}} {{<<"testbucket">>,{<<"employee_employee_id">>,<<"1001">>}} {{<<"testbucket">>,{<<"employee_employee_id">>,<<"1002">>}} {{<<"testbucket">>,{<<"employee_employee_name">>,<<"Ajit">>}} {{<<"testbucket">>,{<<"employee_employee_name">>,<<"Maitra">>}} {{<<"testbucket">>,{<<"employee_employee_name">>,<<"Raghav">>}} ``` And search-cmd can query as expected: ``` root@sitea2:~# search-cmd search testbucket employee_department_dept_id:A1-2001 :: Searching for 'employee_department_dept_id:A1-2001' / '' in testbucket... ------------------------------ index/id: testbucket/emp1 p -> [0] score -> 0.35355339059327373 ------------------------------ index/id: testbucket/emp2 p -> [0] score -> 0.35355339059327373 ------------------------------ :: Found 2 results. root@sitea2:/tmp# search-cmd search testbucket "employee_employee_name:Raghav" :: Searching for 'employee_employee_name:Raghav' / '' in testbucket... ------------------------------ index/id: testbucket/emp1 p -> [0] score -> 0.35355339059327373 ------------------------------ :: Found 1 results. root@sitea2:/tmp# search-cmd search testbucket employee_employee_name:Ajit :: Searching for 'employee_employee_name:Ajit' / '' in testbucket... ------------------------------ index/id: testbucket/emp2 p -> [0] score -> 0.35355339059327373 ------------------------------ ``` Joe Caswell From: "Ajit Prasad(RMG00)" <[email protected]> Date: Thursday, January 23, 2014 12:19 AM To: "[email protected]" <[email protected]> Subject: Search is not working in RIAK Hi, Search doesn¹t seem to work on a normal JSON file. Have created index on JSON file and installed the search on the bucket also. $search-cmd search out2_buk "employee_name:\"Ajit\"" :: Searching for 'employee_name:"Ajit"' / '' in out2_buk... ------------------------------ :: Found 0 results. File content is pasted below : "employee":{ "employee_name":"Raghav Maitra", "employee_id":"1001", "designation":"Technical Analyst", "emp_contract_no":"1987-XXVI", "department": {"dept_name":"ADW", "sub_dept_name":"A1", "dept_id":"A1-2001", "dept_description":"Analysis and Devlopement Wing", "dept_site_name":"Diego Gracia" } "employee_name":"Ajit", "employee_id":"1002", "designation":"Technical Analyst", "emp_contract_no":"2001-XXVI", "department": {"dept_name":"ADW", "sub_dept_name":"A1", "dept_id":"A1-2001", "dept_description":"Analysis and Devlopement Wing", "dept_site_name":"Diego Gracia" } Thanks and regards, Ajit Cell:+91-9980084384 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Disclaimer~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Information contained and transmitted by this e-mail is confidential and proprietary to iGATE and its affiliates and is intended for use only by the recipient. If you are not the intended recipient, you are hereby notified that any dissemination, distribution, copying or use of this e-mail is strictly prohibited and you are requested to delete this e-mail immediately and notify the originator or [email protected]. iGATE does not enter into any agreement with any party by e-mail. Any views expressed by an individual do not necessarily reflect the view of iGATE. iGATE is not responsible for the consequences of any actions taken on the basis of information provided, through this email. The contents of an attachment to this e-mail may contain software viruses, which could damage your own computer system. While iGATE has taken every reasonable precaution to minimise this risk, we cannot accept liability for any damage which you sustain as a result of software viruses. You should carry out your own virus checks before opening an attachment. To know more about iGATE please visit www.igate.com <http://www.igate.com> . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ _______________________________________________ riak-users mailing list [email protected] http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
_______________________________________________ riak-users mailing list [email protected] http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
