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 <[email protected]> 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 <[email protected]>
> 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 <[email protected]> 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 <[email protected]>
>> 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 <[email protected]
>> > 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 <
>>> [email protected]> 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 <[email protected]> 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
>>>>> [email protected]
>>>>>
>>>>>
>>>>> On Mon, Aug 18, 2014 at 8:47 AM, Alex De la rosa
>>>>> <[email protected]> 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 <[email protected]>
>>>>> 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
>>>>> >> [email protected]
>>>>> >>
>>>>> >> On Mon, Aug 18, 2014 at 7:50 AM, Alex De la rosa
>>>>> >> <[email protected]> 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 <[email protected]>
>>>>> 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
>>>>> >> >> [email protected]
>>>>> >
>>>>> >
>>>>>
>>>>
>>>>
>>>
>> _______________________________________________
>> 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