1

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 クラスターのインデックス作成にストレスを感じたくありません。

search_indexPython ライブラリを使用してバケット構成から削除する方法はありますか?

4

1 に答える 1

4

バケットのプロパティを次のように変更します。

{"search_index": "_dont_index_"}

私はそれがPythonに翻訳されると思います

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

関連付けられていたすべてのバケットからインデックスの関連付けが解除されたら、問題なく削除できます。

Riakのドキュメント を読むことを強くお勧めします。これは非常に優れており、スタック オーバーフローに関する多くの疑問を解消してくれます。

于 2016-03-11T17:05:30.723 に答える