【问题标题】:Riak, How to delete an index that is already in use?Riak,如何删除已在使用的索引?
【发布时间】:2016-03-11 14:59:23
【问题描述】:

我愿意使用 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

【问题讨论】:

  • 您是否尝试过从&lt;&lt;"my_bucket_type"&gt;&gt; 中删除search_index 属性?

标签: python riak riak-search


【解决方案1】:

更改存储桶属性,以便

{"search_index": "_dont_index_"}

我想翻译成 Python 应该是这样的

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

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

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

【讨论】:

  • 嘿,这确实在文档中,该死的。今天至少经过了十几次。这个选项是神秘的,但它被记录在案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-30
  • 2022-01-06
  • 1970-01-01
  • 2011-10-05
  • 1970-01-01
相关资源
最近更新 更多