2

Couchbases Java Client 2.2.2 を使用して、プログラムでセカンダリ インデックスを作成して公開することはできますか? Couchbase 4.1 を実行しているカスタム セカンダリ インデックスを作成して公開できるようにしたいと考えています。これは Couchbase ビューで実行できることはわかっていますが、インデックスについては同じことが見つかりません。

4

4 に答える 4

5

プログラムでプライマリまたはセカンダリのインデックスを作成するには、couchbase-java-client-2.3.1 が必要です。使用可能なメソッドのいくつかは、bucketMangerビューの upsert に使用されるものと同じものにあります。さらに、DSL および String 構文をサポートする静的メソッドcreateIndexを使用できます。

セカンダリ インデックスを作成するには、いくつかのオプションがあります。

オプション1:

Statement query = createIndex(name).on(bucket.name(), x(fieldName));
N1qlQueryResult result = bucket.query(N1qlQuery.simple(query));

オプション #2:

String query = "BUILD INDEX ON `" + bucket.name() + "` (" + fieldName + ")";
N1qlQueryResult result = bucket.query(N1qlQuery.simple(query));

オプション#3(メソッドcreateN1qlIndexがオーバーロードされているため、実際には複数のオプションがあります

bucket.bucketManager().createN1qlIndex(indexName, fields, where, true, false);
于 2016-07-11T17:01:30.833 に答える
1

バケットがあれば、任意の 2.x でこれを実行できるはずです。

バケット.クエリ(N1qlQuery.simple(クエリ文字列))

queryString は次のようなものです

String queryString = "CREATE PRIMARY INDEX ON " + bucketName + "USING GSI;";

于 2016-07-11T22:00:38.527 に答える