Ich versuche, Daten von Couchbase Eimer mit Laravel 4.2 zu bekommen. Und mit dem Problem in Bezug auf PRIMARY INDEX konfrontiert. Unten sind die Details. Kann mir jemand bitte vorschlagen wo ich falsch mache. Vielen Dank.Kann PRIMAREINDEX für Couchbase-Bucket nicht erstellen. auf UBUNTU 14.04
Controller:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use CouchbaseCluster;
class HomeController extends Controller {
public function index() {
// phpinfo();die;
//
$Cluster = New CouchbaseCluster ('http://127.0.0.1:8091');
$Bucket = $Cluster->OpenBucket('beer-sample');
// Retrieve a document
Try {
$Result = $Bucket->Get('21St_amendment_brewery_cafe');
} Catch (Exception $E) {
Echo "CouchbaseException:" . $E->getMessage() . " \ N ";
}
$doc = Json_decode($Result->Value, True);
var_dump($doc);die;
}
}
immer unten Fehlermeldung:
CouchbaseException in CouchbaseBucket.class.php line 196:
The key does not exist on the server
Dann änderte ich meine Controller-Code und r ein es wieder.
Controller (Aktualisiert):
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use CouchbaseCluster;
class HomeController extends Controller {
public function index() {
// phpinfo();die;
$query = 'SELECT * FROM `beer-sample` limit 2';
$res = \DB::connection()->bucket('beer-sample')->select($query);
var_dump($res);die;
}
}
QueryException in Connection.php line 673:
No primary index on keyspace beer-sample. Use CREATE PRIMARY INDEX to create one. (SQL: SELECT * FROM `beer-sample` limit 2)
Es scheint, sind beide Fehler (primär) Key bezogen. Also habe ich versucht, Primärschlüssel von meinem Controller und ./cbq zu erstellen. Aber Fälle scheitern. Unten sind die Details.
Controller-Logik Primär-Schlüssel zu erstellen:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use CouchbaseCluster;
class HomeController extends Controller {
public function index() {
// phpinfo();die;
$query = 'CREATE PRIMARY INDEX `beer-sample-primary-index` ON `beer-sample` USING GSI WITH {"defer_build":true};';
$res = \DB::connection()->bucket('beer-sample')->select($query);
var_dump($res);die;
}
}
Seite unten Fehler wirft:
QueryException in Connection.php line 673:
GSI CreatePrimaryIndex() - cause: Fails to create index. There is no available index service that can process this request at this time. Index Service can be in bootstrap, recovery, or non-reachable. Please retry the operation at a later time. (SQL: CREATE PRIMARY INDEX `beer-sample-primary-index` ON `beer-sample` USING GSI WITH {"defer_build":true};)
Abfrage f rom ./cbq warf auch ähnlichen Fehler.
[email protected]:/opt/couchbase/bin$ ./cbq
Couchbase query shell connected to http://localhost:8093/ . Type Ctrl-D to exit.
cbq> CREATE PRIMARY INDEX ON `beer-sample` USING GSI;
{
"requestID": "30239420-7dc2-4892-ba90-1ecf0474ba19",
"signature": null,
"results": [
],
"errors": [
{
"code": 5000,
"msg": "GSI CreatePrimaryIndex() - cause: Fails to create index. There is no available index service that can process this request at this time. Index Service can be in bootstrap, recovery, or non-reachable. Please retry the operation at a later time."
}
],
"status": "errors",
"metrics": {
"elapsedTime": "10.005267815s",
"executionTime": "10.005169082s",
"resultCount": 0,
"resultSize": 0,
"errorCount": 1
}
}
Bitte helfen Sie mir, wie Primärschlüssel für Couchbase Eimer zu erstellen. Lassen Sie mich wissen, wenn mehr Informationen benötigt werden.
EDIT
Server Node Screenshots
Können Sie in der Registerkarte Knoten der Webkonsole einchecken, dass Sie mindestens einen Knoten mit dem Dienst 'index' haben. bei einer typischen dev-lokalen installation hat man einen einzigen node mit den 3 services: 'data',' index' und 'query' ... auch welche couchbase server-version benutzt du? –
Ich habe Server-Knoten Screenshots in meiner Frage hinzugefügt. Ich bin mir nicht sicher, wie ich prüfen kann, ob der Index-Dienst verfügbar ist. Können Sie sehen, ob Sie von Screenshots etwas Ahnung haben? Ich benutze Couchbase Server 4.0.0. –
Der Index scheint aktiviert zu sein, wie im zweiten Screenshot rechts neben dem grünen Zeichen "oben" angezeigt. Aber der Index-Service scheint zu scheitern ... Vielleicht können Sie jemanden von der Unterstützung bekommen, der Ihnen hilft, zu diagnostizieren, wenn Sie in den Couchbase Foren posten –