Ok, I found the first error in the documentation, parameters are in reverse order:
bucket = client.bucket('animals', 'cats') should be: bucket = client.bucket('cats', 'animals') Now I could save and it found the bucket type: bucket = client.bucket('fcb','futbolistas') VS bucket = client.bucket('futbolistas', 'fcb') However, even fixing that, the next step fails as it was failing before: ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- PYTHON: bucket = client.bucket('fcb','futbolistas') results = bucket.search('name_s:Lion*') print results ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- Traceback (most recent call last): File "x.py", line 13, in <module> results = bucket.search('name_s:Lion*') File "/usr/local/lib/python2.7/dist-packages/riak/bucket.py", line 420, in search return self._client.fulltext_search(self.name, query, **params) File "/usr/local/lib/python2.7/dist-packages/riak/client/transport.py", line 184, in wrapper return self._with_retries(pool, thunk) File "/usr/local/lib/python2.7/dist-packages/riak/client/transport.py", line 126, in _with_retries return fn(transport) File "/usr/local/lib/python2.7/dist-packages/riak/client/transport.py", line 182, in thunk return fn(self, transport, *args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/riak/client/operations.py", line 573, in fulltext_search return transport.search(index, query, **params) File "/usr/local/lib/python2.7/dist-packages/riak/transports/pbc/transport.py", line 564, in search MSG_CODE_SEARCH_QUERY_RESP) File "/usr/local/lib/python2.7/dist-packages/riak/transports/pbc/connection.py", line 50, in _request return self._recv_msg(expect) File "/usr/local/lib/python2.7/dist-packages/riak/transports/pbc/connection.py", line 142, in _recv_msg raise RiakError(err.errmsg) riak.RiakError: 'No index <<"fcb">> found.' Again it says "fcb" index not found... and this time I fully followed the right documentation and didn't use "bucket.enable_search()" Thanks, Alex On Mon, Aug 18, 2014 at 10:49 PM, Alex De la rosa <alex.rosa....@gmail.com> wrote: > Hi Eric, > > I'm sorry but I followed the documentation that you provided me and still > raises issues: > > ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- > ---- ---- ---- ---- ---- ---- ---- ---- ---- > STEP 1: Create Index: famoso > ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- > ---- ---- ---- ---- ---- ---- ---- ---- ---- > PYTHON: > client.create_search_index('famoso') > > ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- > ---- ---- ---- ---- ---- ---- ---- ---- ---- > STEP 2: Create Bucket Type: futbolistas > ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- > ---- ---- ---- ---- ---- ---- ---- ---- ---- > SHELL: > riak-admin bucket-type create futbolistas > '{"props":{"search_index":"famoso"}}' > => futbolistas created > riak-admin bucket-type activate futbolistas > => futbolistas has been activated > > ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- > ---- ---- ---- ---- ---- ---- ---- ---- ---- > STEP 3: Create Bucket and Add data: fcb > ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- > ---- ---- ---- ---- ---- ---- ---- ---- ---- > PYTHON: > bucket = client.bucket('futbolistas', 'fcb') > c = bucket.new('lionel', {'name_s': 'Lionel', 'age_i': 30, 'leader_b': > True}) > c.store() > > ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- > ---- ---- ---- ---- ---- ---- ---- ---- ---- > ERROR: This time it doesn't even let me save data into Riak > ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- > ---- ---- ---- ---- ---- ---- ---- ---- ---- > Traceback (most recent call last): > File "x.py", line 10, in <module> > c = bucket.new('lionel', {'name_s': 'Lionel', 'age_i': 30, 'leader_b': > True}) > File "/usr/local/lib/python2.7/dist-packages/riak/bucket.py", line 159, > in new > if self.bucket_type.datatype: > File "/usr/local/lib/python2.7/dist-packages/riak/util.py", line 78, in > __get__ > value = self.fget(obj) > File "/usr/local/lib/python2.7/dist-packages/riak/bucket.py", line 618, > in datatype > return self.get_properties().get('datatype') > File "/usr/local/lib/python2.7/dist-packages/riak/bucket.py", line 557, > in get_properties > return self._client.get_bucket_type_props(self) > File "/usr/local/lib/python2.7/dist-packages/riak/client/transport.py", > line 184, in wrapper > return self._with_retries(pool, thunk) > File "/usr/local/lib/python2.7/dist-packages/riak/client/transport.py", > line 126, in _with_retries > return fn(transport) > File "/usr/local/lib/python2.7/dist-packages/riak/client/transport.py", > line 182, in thunk > return fn(self, transport, *args, **kwargs) > File "/usr/local/lib/python2.7/dist-packages/riak/client/operations.py", > line 265, in get_bucket_type_props > return transport.get_bucket_type_props(bucket_type) > File > "/usr/local/lib/python2.7/dist-packages/riak/transports/pbc/transport.py", > line 381, in get_bucket_type_props > MSG_CODE_GET_BUCKET_RESP) > File > "/usr/local/lib/python2.7/dist-packages/riak/transports/pbc/connection.py", > line 50, in _request > return self._recv_msg(expect) > File > "/usr/local/lib/python2.7/dist-packages/riak/transports/pbc/connection.py", > line 142, in _recv_msg > raise RiakError(err.errmsg) > riak.RiakError: 'Invalid bucket type: <<"fcb">>' > > How to solve that? Is step by step the documentation provided. > > Thanks, > Alex > > > On Mon, Aug 18, 2014 at 10:05 PM, Eric Redmond <eredm...@basho.com> wrote: > >> The correct way to set up and use search is in the documentation. Be wary >> of any external sources, as they may be referring to Riak Search prior to >> 2.0. >> >> http://docs.basho.com/riak/2.0.0/dev/using/search/ >> >> Eric >> >> >> On Aug 18, 2014, at 12:41 PM, Alex De la rosa <alex.rosa....@gmail.com> >> wrote: >> >> Hi Eric, >> >> I see! Understood, could you provide a little full example on how it >> should work? Because I think I also tried without it and failed. >> >> Luke told me to try using the GIT version one see if is a bug that was >> already fixed there. >> >> Thanks, >> Alex >> >> On Monday, August 18, 2014, Eric Redmond <eredm...@basho.com> wrote: >> >>> Alex, >>> >>> Don't call enable_search(). That enables *old* Riak Search (it sets the >>> property "search":true). To revert that setting, >>> bucket.set_property("search", >>> False) >>> >>> >>> >>> On Aug 18, 2014, at 10:55 AM, Alex De la rosa <alex.rosa....@gmail.com> >>> wrote: >>> >>> Hi Luke, >>> >>> As an alternative version and following the Python Client Documentation >>> I tried these steps without a bucket_type (although I ended in the same >>> error): >>> >>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>> STEP 1: CREATE SEARCH INDEX: mywantedindex >>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>> PYTHON: >>> client.create_search_index('mywantedindex') >>> >>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>> STEP 2: VERIFY INDEX >>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>> CURL: >>> http://RIAK:8098/search/index/mywantedindex >>> <http://riak:8098/search/index/mywantedindex> >>> => {"name":"mywantedindex","n_val":3,"schema":"_yz_default"} >>> >>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>> STEP 3: CREATE BUCKET: pleasework3 >>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>> PYTHON: >>> bucket = client.bucket('pleasework3') >>> bucket.enable_search() >>> bucket.set_property('search_index', 'mywantedindex') >>> >>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>> STEP 4: VERIFY BUCKET PROPS >>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>> CURL: >>> http://RIAK:8098/riak/pleasework3 <http://riak:8098/riak/pleasework3> >>> => >>> {"props":{"allow_mult":false,"basic_quorum":false,"big_vclock":50,"chash_keyfun":{"mod":"riak_core_util","fun":"chash_std_keyfun"},"dvv_enabled":false,"dw":"quorum","last_write_wins":false,"linkfun":{"mod":"riak_kv_wm_link_walker","fun":"mapreduce_linkfun"},"n_val":3,"name":"pleasework3","notfound_ok":true,"old_vclock":86400,"postcommit":[],"pr":0,"precommit":[],"pw":0,"r":"quorum","rw":"quorum","search":true,"search_index":"mywantedindex","small_vclock":50,"w":"quorum","young_vclock":20}} >>> >>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>> RESULT: ERROR! >>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>> PYTHON: >>> print bucket.search('name=Felix') >>> => riak.RiakError: 'No index <<"pleasework3">> found.' >>> >>> At least I can see the "search_index":"mywantedindex" prop set up >>> properly in the bucket but still getting the same error no matter what I >>> try; I think is possible there is a bug in the Python client? >>> >>> Thanks, >>> Alex >>> >>> >>> On Mon, Aug 18, 2014 at 6:14 PM, Alex De la rosa < >>> alex.rosa....@gmail.com> wrote: >>> >>>> In case is of help, here are the steps I followed: >>>> >>>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>>> STEP 1: CREATE SEARCH INDEX: mywantedindex >>>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>>> PYTHON: >>>> client.create_search_index('mywantedindex') >>>> >>>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>>> STEP 2: VERIFY INDEX >>>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>>> CURL: >>>> http://RIAK:8098/search/index/mywantedindex >>>> <http://riak:8098/search/index/mywantedindex> >>>> => {"name":"mywantedindex","n_val":3,"schema":"_yz_default"} >>>> >>>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>>> STEP 3: CREATE BUCKET TYPE: anothertry >>>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>>> SHELL: >>>> riak-admin bucket-type create anothertry >>>> '{"props":{"search_index":"mywantedindex"}}' >>>> => anothertry created >>>> riak-admin bucket-type activate anothertry >>>> => anothertry has been activated >>>> >>>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>>> STEP 4: CREATE BUCKET TO STORE OBJECTS: pleasework >>>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>>> PYTHON: >>>> bucket = client.bucket_type('anothertry').bucket('pleasework') >>>> bucket.enable_search() >>>> bucket.set_property('search_index', 'mywantedindex') >>>> key = bucket.new('cat-1', data={"name":"Felix","species":"Felis >>>> catus"}, content_type='application/json') >>>> key.store() >>>> print bucket.search('name=Felix') >>>> >>>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>>> RESULT: ERROR! >>>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>>> ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- >>>> riak.RiakError: 'No index <<"pleasework">> found.' >>>> >>>> Thanks, >>>> Alex >>>> >>>> >>>> On Mon, Aug 18, 2014 at 5:59 PM, Alex De la rosa < >>>> alex.rosa....@gmail.com> wrote: >>>> >>>>> Hi Luke, >>>>> >>>>> Yes, I'm using the version 2.1.0rc1 installed via PIP as explained by >>>>> Sean in another thread here. >>>>> >>>>> Thanks, >>>>> Alex >>>>> >>>>> >>>>> On Mon, Aug 18, 2014 at 5:57 PM, Luke Bakken <lbak...@basho.com> >>>>> wrote: >>>>> >>>>>> Hi Alex, >>>>>> >>>>>> I'll work on reproducing this error, thank you for the details. I'm >>>>>> assuming you're using the 2.1.0rc1 version of the Python client >>>>>> available here: >>>>>> >>>>>> https://pypi.python.org/pypi?:action=display&name=riak#downloads >>>>>> >>>>>> -- >>>>>> Luke Bakken >>>>>> CSE >>>>>> lbak...@basho.com >>>>>> >>>>>> >>>>>> On Mon, Aug 18, 2014 at 8:47 AM, Alex De la rosa >>>>>> <alex.rosa....@gmail.com> wrote: >>>>>> > Hi Luke, >>>>>> > >>>>>> > Same error: >>>>>> > >>>>>> > bucket = client.bucket_type('animals').bucket('cats') >>>>>> > bucket.enable_search() >>>>>> > bucket.set_property('search_index', 'famous') # NEW: Setting the >>>>>> search >>>>>> > index to the bucket >>>>>> > key = bucket.new('feliz', data={"name":"Felix","species":"Felis >>>>>> catus"}, >>>>>> > content_type='application/json') >>>>>> > key.store() >>>>>> > print bucket.search('name=Felix') >>>>>> > >>>>>> > Output: >>>>>> > >>>>>> > Traceback (most recent call last): >>>>>> > File "x.py", line 11, in <module> >>>>>> > print bucket.search('name=Felix') >>>>>> > File "/usr/local/lib/python2.7/dist-packages/riak/bucket.py", >>>>>> line 420, in >>>>>> > search >>>>>> > return self._client.fulltext_search(self.name, query, **params) >>>>>> > File >>>>>> "/usr/local/lib/python2.7/dist-packages/riak/client/transport.py", >>>>>> > line 184, in wrapper >>>>>> > return self._with_retries(pool, thunk) >>>>>> > File >>>>>> "/usr/local/lib/python2.7/dist-packages/riak/client/transport.py", >>>>>> > line 126, in _with_retries >>>>>> > return fn(transport) >>>>>> > File >>>>>> "/usr/local/lib/python2.7/dist-packages/riak/client/transport.py", >>>>>> > line 182, in thunk >>>>>> > return fn(self, transport, *args, **kwargs) >>>>>> > File >>>>>> "/usr/local/lib/python2.7/dist-packages/riak/client/operations.py", >>>>>> > line 573, in fulltext_search >>>>>> > return transport.search(index, query, **params) >>>>>> > File >>>>>> > >>>>>> "/usr/local/lib/python2.7/dist-packages/riak/transports/pbc/transport.py", >>>>>> > line 564, in search >>>>>> > MSG_CODE_SEARCH_QUERY_RESP) >>>>>> > File >>>>>> > >>>>>> "/usr/local/lib/python2.7/dist-packages/riak/transports/pbc/connection.py", >>>>>> > line 50, in _request >>>>>> > return self._recv_msg(expect) >>>>>> > File >>>>>> > >>>>>> "/usr/local/lib/python2.7/dist-packages/riak/transports/pbc/connection.py", >>>>>> > line 142, in _recv_msg >>>>>> > raise RiakError(err.errmsg) >>>>>> > riak.RiakError: 'No index <<"cats">> found.' >>>>>> > >>>>>> > Thanks, >>>>>> > Alex >>>>>> > >>>>>> > >>>>>> > On Mon, Aug 18, 2014 at 5:00 PM, Luke Bakken <lbak...@basho.com> >>>>>> wrote: >>>>>> >> >>>>>> >> Alex - >>>>>> >> >>>>>> >> Let's take a step back and try out the "famous" index and "animals" >>>>>> >> bucket type, which you have confirmed are set up correctly. This >>>>>> >> (untested) code should create an object ("cat-1") in the "cats" >>>>>> bucket >>>>>> >> (within the "animals" bucket type), which will then be indexed by >>>>>> the >>>>>> >> "famous" index: >>>>>> >> >>>>>> >> bucket = client.bucket_type('animals').bucket('cats') >>>>>> >> obj = RiakObject(client, bucket, 'cat-1') >>>>>> >> obj.content_type = 'application/json' >>>>>> >> obj.data = { 'name': 'Felix', 'species': 'Felis catus' } >>>>>> >> obj.store() >>>>>> >> >>>>>> >> -- >>>>>> >> Luke Bakken >>>>>> >> CSE >>>>>> >> lbak...@basho.com >>>>>> >> >>>>>> >> On Mon, Aug 18, 2014 at 7:50 AM, Alex De la rosa >>>>>> >> <alex.rosa....@gmail.com> wrote: >>>>>> >> > Hi Luke, >>>>>> >> > >>>>>> >> > I also tried with a normal bucket "cats" using the type >>>>>> "animals" as the >>>>>> >> > documentation seemed to suggest and gave me the same error but >>>>>> this time >>>>>> >> > saying that "cats" was not found as an index... so... still no >>>>>> clue how >>>>>> >> > to >>>>>> >> > do it. >>>>>> >> > >>>>>> >> > This is an alternate code I did looking at the Python client API >>>>>> >> > documentation, etc... >>>>>> >> > >>>>>> >> > client.create_search_index('men') >>>>>> >> > bucket = client.bucket('accounts') >>>>>> >> > bucket.enable_search() >>>>>> >> > bucket.set_property('search_index', 'men') >>>>>> >> > key = bucket.new('alex', >>>>>> data={"username":"Alex","age":25,"sex":"male"}, >>>>>> >> > content_type='application/json') >>>>>> >> > key.store() >>>>>> >> > print bucket.search('sex=male') >>>>>> >> > >>>>>> >> > Again, it says "accounts" is not an index... in this code no >>>>>> bucket >>>>>> >> > types >>>>>> >> > are used, just a plain bucket "accounts"... what is wrong? what >>>>>> is >>>>>> >> > missing >>>>>> >> > for it to work?? >>>>>> >> > >>>>>> >> > This is really frustrating. >>>>>> >> > >>>>>> >> > Thanks, >>>>>> >> > Alex >>>>>> >> > >>>>>> >> > >>>>>> >> > On Mon, Aug 18, 2014 at 4:44 PM, Luke Bakken <lbak...@basho.com> >>>>>> wrote: >>>>>> >> >> >>>>>> >> >> Hi Alex - >>>>>> >> >> >>>>>> >> >> You correctly created the "famous" index, as well as correctly >>>>>> >> >> associated it with the bucket *type* "animals". Note that a >>>>>> bucket >>>>>> >> >> type is not the same thing as a bucket in previous versions of >>>>>> Riak. A >>>>>> >> >> bucket type is a way to give 1 or more buckets within that type >>>>>> the >>>>>> >> >> same properties. You'll have to use different code in your Riak >>>>>> client >>>>>> >> >> to use bucket types: >>>>>> >> >> >>>>>> >> >> http://docs.basho.com/riak/2.0.0/dev/advanced/bucket-types/ >>>>>> >> >> >>>>>> >> >> -- >>>>>> >> >> Luke Bakken >>>>>> >> >> CSE >>>>>> >> >> lbak...@basho.com >>>>>> > >>>>>> > >>>>>> >>>>> >>>>> >>>> >>> _______________________________________________ >>> 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