IBM Cloudant 照会の処理
概要
IBM Cloudant Queryは、検索条件を定義するJSONオブジェクトである「セレクタ」に一致するドキュメントをデータベースから取得できる、柔軟なクエリ言語です。
IBM Cloudant クエリーの仕組み
IBM Cloudant クエリーを使うには、JSON形式のクエリーをデータベースの _find HTTP エンドポイントに送る。 JSONには、ドキュメントを返す際に使用するソート順などのメタデータとともに、クエリ自体を定義する_セレクタが_含まれています。 セレクタのシンタックスは、 MongoDB's クエリ言語に基づいており、複雑なクエリを作成するために組み合わせることができる豊富なクエリ演算子のセットを提供します。
セレクタの構文を 読んで、クエリについて学び始めましょう。
クエリが迅速に結果を返すようにするために、 IBM Cloudant クエリは適切なセカンダリインデックスによってバックアップされるべきである。 インデックスには2種類ある:
- JSON インデックス (
type=json、デフォルト)- インデックスのキー空間を形成するために一緒に結合された指名されたドキュメントフィールドのセット。 クエリのセレクタとソート・パラメータは、クエリ処理時に使用するインデックスのキーと一致しなければなりません。 - テキスト・インデックス (
type=text)- 個別にインデックス化された指名文書フィールドのセット。 インデックス化された1つ以上のフィールドをセレクタ式で組み合わせることで、小さなデータスライス(クエリあたり最大200文書)を抽出することができる。
IBM Cloudant クエリーはデータベース全体、またはパーティション化されたデータベースでは単一のパーティションに対して実行できます。
インデックスの作成については、こちらをお読みください:
IBM Cloudant クエリーの使用時期
IBM Cloudant クエリーは理想的だ:
- クエリのセレクタ/ソートが事前に定義された
type=jsonインデックスと一致する場合の操作クエリ。 type=textインデックスにバックアップされた1つまたは複数のフィールドに対するアドホックなクエリ。- 部分インデックスを作成する。この場合、ドキュメントのサブセットがインデックスを形成するために使用され、セレクタ/ソートがインデックスされたデータをさらにフィルタリングする。
IBM Cloudant クエリーを使用しない場合
クエリーを避ける
- データの集約。 代わりにViewsを使ってください。
- フリーテキストまたはワイルドカード検索。 代わりに Cloudant Search を使ってください。
ページネーション
セレクタ構文クエリに ブックマークページネーションを 使用します。 具体的な詳細と例については、APIドキュメントのトピック「 Paging on selector syntax queries 」を参照してください。