2017-05-15 4 views
0

Ich verwende Java Client für Riak KV 2.1.1. Nach dem Erstellen des Indexes und dem Anwenden auf den Namespace erhalte ich den Fehler "Keine geeignete Methode gefunden", obwohl ich der Dokumentation auf der website folge. Was ist die Lösung dafür?Riak KV 2.1.1 Java Client: Keine passende Methode gefunden für Client.execute()

Danke.

Bitte beachten Sie den Code und den vollständigen Fehler unten.

 YokozunaIndex famousIndex = new YokozunaIndex("famous", "_yz_default"); 
     StoreIndex storeIndex = new StoreIndex.Builder(famousIndex) 
       .build(); 
     client.execute(storeIndex);  
     Namespace streets=new Namespace("streets"); 
     StoreBucketPropsOperation storePropsOp = new StoreBucketPropsOperation.Builder(streets) 
       .withSearchIndex("famous") 
       .build(); 
     client.execute(storePropsOp); // this is where I am getting error 

Error Image

Antwort

1

Dies ist eine Dokumentation Bug. RiakClient.execute() akzeptiert eine Instanz von RiakCommand, während StoreBucketPropsOperation eine untergeordnete API ist.

Verwenden Sie stattdessen den Befehl StoreBucketProperties wie folgt:

StoreBucketProperties storePropsCommand = new StoreBucketProperties.Builder(streets) 
      .withSearchIndex("famous") 
      .build(); 
    client.execute(storePropsCommand); 
+0

Ja, ich versuchte, dass vor der Frage veröffentlicht, wird es Ihnen nicht den Fehler, aber meine Suche Abfrage funktioniert nicht nach dem Index der Anwendung. Es ist ein einfacher Schlüsselwert (String, String) Bucket. Es gibt möglicherweise Fehler. "Abfrage kann nicht abgeschlossen werden". SucheOperation searchOp = new SearchOperation .Builder (BinaryValue.create ("berühmt"), "Mein Zuhause *") .build(); cluster.execute (searchOp); Liste >> results = searchOp.get(). GetAllResults(); – Ateeq

+0

Das haben Sie nicht gefragt. Tatsächlich bezieht sich Ihre ursprüngliche Frage nicht einmal auf die Abfrage, sondern auf die Zuordnung eines Indexes zu einem Bucket. Wie ich bereits erklärt habe, sollten Sie die Befehls-API verwenden, die genauso funktioniert wie die Operations-API. Wenn Sie ein anderes Problem haben, stellen Sie eine andere Frage. – vempo

Verwandte Themen