如何以编程方式使用Java客户端创建和发布索引

Mar*_*unt 2 java indexing couchbase couchbase-java-api

是否可以使用Couchbases Java Client 2.2.2以编程方式创建和发布二级索引?我希望能够创建和发布运行Couchbase 4.1的自定义二级索引。我知道这可以与Couchbase Views一起使用,但是我找不到相同的索引。

Mar*_*unt 5

需要以沙发床java-client-2.3.1才能以编程方式创建主索引或辅助索引。可以在bucketManger用于向上插入视图的同一方法上找到一些可用的方法。此外,createIndex可以使用支持DSL和String语法 的静态方法。

有一些选项可以创建二级索引。

选项1:

Statement query = createIndex(name).on(bucket.name(), x(fieldName));
N1qlQueryResult result = bucket.query(N1qlQuery.simple(query));
Run Code Online (Sandbox Code Playgroud)

选项2:

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

选项3(实际上是多个选项,因为方法createN1qlIndex已重载

bucket.bucketManager().createN1qlIndex(indexName, fields, where, true, false);
Run Code Online (Sandbox Code Playgroud)