Your steps seemed to have named the index "famoso". Eric
On Aug 18, 2014, at 1:56 PM, Alex De la rosa <alex.rosa....@gmail.com> wrote: > 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 >>> => {"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 >>> => >>> {"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 >>> => {"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