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