Riak,如何删除已在使用的索引?

Riak, How to delete an index that is already in use?

我愿意使用 python 库删除已在存储桶上使用的索引:

client.delete_search_index(index_name)

但是我得到这个错误:

Can't delete index with associate buckets [{<<"my_bucket_type">>,<<"my_bucket">>}]'

我明白了,我需要先解除存储桶和索引之间的绑定。所以我首先尝试禁用存储桶上的 search_index 属性:

bucket.set_property('search_index', '')
# or
bucket.set_property('search_index', None)
# or
bucket.set_property('search_index', 'null')
# or
bucket.set_properties('{search_index:null}')

没有成功,每次 HTTP 错误都被库转换为“Error setting bucket properties.”。

我仍然可以分配另一个 riak-search 索引,但我不想强调我不会使用的 riak 集群索引。

有没有办法使用 python 库从存储桶配置中删除 search_index

更改存储桶属性,以便

{"search_index": "_dont_index_"}

我猜翻译成 Python 会是

bucket.set_property('search_index', '_dont_index_')

在索引与其关联的所有存储桶解除关联后,您可以毫无问题地删除它。

我强烈建议你学习Riak documentation,它真的很好,可以为你节省很多关于 Stack Overflow 的问题。