Search:

Search all manuals
Search this manual
Manual
Couchbase Server マニュアル 2.0
Community Wiki and Resources
Couchbase Server 2.0をダウンロード
Couchbase 開発者ガイド 2.0
クライアントライブラリ
Couchbase Server フォーラム
Additional Resources
Community Wiki
Community Forums
Couchbase SDKs
Parent Section
9.2 ビューの動作
Chapter Sections
Chapters

9.2.5. インデックスの自動更新

更新間隔に加えて、バックグラウンドで全てのインデックスを自動的に更新することもできます。秒による更新時間間隔と、ビューエンジンがインデックスを更新する前に発生するドキュメント更新の数の2つのパラメータを使って自動更新を設定します。これらの2つのパラメータはupdateIntervalと、updateMinChangesです:

自動更新は開発モード、プロダクションモードのインデックス全体を処理します。自動更新は開発モードの部分的なインデックスを更新しません。

注記

自動更新処理にかかわらず、ディスクに永続化されたドキュメントのみがインデックスの対象となります。ドキュメントがディスクに永続化されていない場合でも、自動更新処理はそれらのドキュメントのディスク書き込みを実行しません。observeコマンドを利用してドキュメントがディスクに永続化されたか、そしてインデックスに更新されたかを監視することができます。

更新は、次のように適用されます:

グローバルにも、個々のデザインドキュメント内の全てのインデックスにも、REST APIを利用して自動更新発動のレベルを指定できます。

現在のビュー更新デーモンの設定を取得するには、クラスタ内のノードの管理用ポートに次のURLでアクセスします。http://nodename:8091/settings/viewUpdateDaemon

HTTP Request
GET http://Administrator:Password@nodename:8091/settings/viewUpdateDaemon

現在の更新設定のJSONが返却されます:

JSON
{
    "updateInterval":5000,
    "updateMinChanges":5000,
    "replicaUpdateMinChanges":5000
}

設定を更新するためには、更新した値を含むペイロードデータをPOSTします。例えば、更新の間隔を10秒に、変更ドキュメント数を7000にします:

HTTP Request
POST http://nodename:8091/settings/viewUpdateDaemon
updateInterval=10000&updateMinChanges=7000

成功すると、更新された設定がJSONで返却されます。

個々のデザインドキュメントに対して設定を行うには、デザインドキュメントのoptionsセクションでパラメータを指定します。例:

JSON
{
   "_id": "_design/myddoc",
   "views": {
      "view1": {
          "map": "function(doc, meta) { if (doc.value) { emit(doc.value, meta.id);} }"
      }
   },
   "options": {
       "updateMinChanges": 1000,
       "replicaUpdateMinChanges": 20000
   }
}

この情報はデザインドキュメント作成時、あるいは更新時にデザインドキュメントREST APIにより設定できます。詳細については、「デザインドキュメントのREST API」を参照してください。

curlツールを使用してこの操作を実行するには:

shell> curl -X POST -v -d 'updateInterval=7000&updateMinChanges=7000' \
    'http://Administrator:Password@192.168.0.72:8091/settings/viewUpdateDaemon'

注記

部分的な開発モードのビューは自動的に再構築されません。また、一貫したビューであっても、自動更新メカニズムに依存しているので、リバランス処理中は開発モードのビューは更新されません。このように開発モードのビューを更新するとシステムリソースが無駄になるからです。