Hi all,

I'm trying to use Riak + Riaksearch as a datastore for Portable
Contacts [1], but I'm running into a spot of trouble making riaksearch
actually work;

I've set up riaksearch with the following schema document:

{
        schema,
        [
                {version, "0.1"}, {default_field, "_owner"}, {n_val, 1}
        ],
        [
                %% Don't parse _id and _owner, just treat it as single token
                {field, [       {name, "id"},
                                {required, true},
                                {analyzer_factory, {erlang, text_analyzers, 
noop_analyzer_factory}}
                        ]},
                {field, [       {name, "_owner"},
                                {required, true},
                                {analyzer_factory, {erlang, text_analyzers, 
noop_analyzer_factory}}
                        ]},
                %% Parse Name fields for full-text indexing
                {field, [       {name, "displayName"},
                                {aliases, ["nickname", "preferredUsername", 
"name_formatted",
"name_displayName"]},
                                {analyzer_factory, {erlang, text_analyzers, 
standard_analyzer_factory}}
                        ]},
                {field, [       {name, "emails_value"},
                                {analyzer_factory, {erlang, text_analyzers, 
standard_analyzer_factory}}
                        ]},

                %% Add modification dates
                {field, [       {name, "published"},
                                {aliases, ["updated"]},
                                {type, date}
                        ]}]}.

(Edited slightly for shortness...)

I then add it using
> sudo sudo search-cmd set_schema PortableContacts 
> `pwd`/pocolib/drivers/riak-search/schema.erl

And enable it on the 'PortableContacts' bucket:
> sudo search-cmd install PortableContacts

(BTW: It is not entirely clear from
https://wiki.basho.com/Riak-Search---Schema.html if the schema name
must match the bucket it should work for. At least, I'm not entirely
sure.)

But when I then try to push a contact entry, it coughs up an 500
Internal Server Error:

curl -v -d '{"organizations": [{"name": "nickels principles", "title":
"curvier floppies"}], "displayName": "reverberating agrarian clue",
"name": {"givenName": "reverberating", "formatted": "reverberating
agrarian clue", "familyName": "agrarian clue"}, "emails": [{"value":
"short...@example.com"}], "_owner": "m...@one.com", "published":
"2010-04-26T13:10:33Z", "id": "48cad5d0-f057-4316-905e-281d1da32a01"}'
-H "Content-Type: application/json"
http://localhost:8098/riak/PortableContacts/48cad5d0-f057-4316-905e-281d1da32a01
* About to connect() to localhost port 8098 (#0)
*   Trying ::1... Connection refused
*   Trying 127.0.0.1... connected
* Connected to localhost (127.0.0.1) port 8098 (#0)
> POST /riak/PortableContacts/48cad5d0-f057-4316-905e-281d1da32a01 HTTP/1.1
> User-Agent: curl/7.19.7 (i486-pc-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8k 
> zlib/1.2.3.3 libidn/1.15
> Host: localhost:8098
> Accept: */*
> Content-Type: application/json
> Content-Length: 396
>
< HTTP/1.1 500 Internal Server Error
< Vary: Accept-Encoding
< Server: MochiWeb/1.1 WebMachine/1.7.3 (participate in the frantic)
< Date: Wed, 09 Mar 2011 13:51:50 GMT
< Content-Type: text/html
< Content-Length: 749
<
<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,
                       [{error,missing_field,<<"organizations_name">>}]},
               {wrq,append_to_response_body,2},
               {riak_kv_wm_raw,accept_doc_body,2},
               {webmachine_resource,resource_call,3},
               {webmachine_resource,do,3},
               {webmachine_decision_core,resource_call,1},
               {webmachine_decision_core,decision,1},
* Connection #0 to host localhost left intact
* Closing connection #0
               
{webmachine_decision_core,handle_request,2}]}}</pre><P><HR><ADDRESS>mochiweb+webmachine
web server</ADDRESS></body></html>


Any ideas as to where I'm doing something wrong?

I'm using version 0.14.0-1 of both products on Ubuntu 10.4 x86.

[1] http://portablecontacts.net/draft-spec.html

-- 
Morten Siebuhr

_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to