Ist es möglich, sekundäre Indizes mithilfe von Couchbases Java Client 2.2.2 zu erstellen und zu veröffentlichen? Ich möchte in der Lage sein, meine benutzerdefinierten sekundären Indizes zu erstellen und zu veröffentlichen, die Couchbase 4.1 ausführen. Ich weiß, dass dies mit Couchbase Views möglich ist, aber ich kann das nicht für Indizes finden.So erstellen und veröffentlichen Sie einen Index mithilfe des Java-Clients programmgesteuert
1
A
Antwort
2
couchbase-java-client-2.3.1 wird benötigt, um programmatisch primäre oder sekundäre Indizes zu erstellen. Einige der verwendbaren Methoden können auf der bucketManger
selbe gefunden werden, die verwendet wird, um Ansichten aufzuladen. Zusätzlich kann die statische Methode createIndex
verwendet werden, die DSL- und String-Syntax unterstützt.
Es gibt einige Optionen zum Erstellen Ihrer sekundären Indizes.
Option # 1:
Statement query = createIndex(name).on(bucket.name(), x(fieldName));
N1qlQueryResult result = bucket.query(N1qlQuery.simple(query));
Option # 2:
String query = "BUILD INDEX ON `" + bucket.name() + "` (" + fieldName + ")";
N1qlQueryResult result = bucket.query(N1qlQuery.simple(query));
Option # 3 (eigentlich hier mehrere Optionen, da Methode createN1qlIndex
bucket.bucketManager().createN1qlIndex(indexName, fields, where, true, false);
0
Sie sollten in der Lage ist überlastet um dies mit jedem 2.x zu tun, sobald Sie einen Eimer
habenbucket.query (N1qlQuery.simple (querystring))
wo querystring etwas wie
String querystring ist = "PRIMARY INDEX USING AN " + bucketName + "
GSI zu schaffen;";
was bedeutet das 'x' vor fieldName? – SuperCow
@SuperCow das ist von Couchbase N1ql DSL. Die x-Methode verwendet einen beliebigen N1ql-Ausdruck. Werfen Sie einen Blick auf die Java-Client-Dokumentation von couchbase für weitere Details –
Vielen Dank für die Hilfe! – SuperCow