2012-04-12 6 views
4

Ich weiß wirklich nicht, was mit meiner Konfiguration los ist, aber ich bin einfach nicht in der Lage, etwas nach der Indizierung abzufragen (weiß nicht, ob ich es bin) den Indizierungsteil richtig machen). Könnte mir bitte jemand sagen, was jedes der folgenden Mittel bedeutet und sein sollte?Wie man CouchDB mit Elastic Search indiziert River: Im Klartext

Ich habe eine CouchDB Datenbank namens bestdb. Innerhalb dieser Datenbank habe ich Dokumenttypen wie product und customer.

Jetzt habe ich elastische Suche Version 0.18.7 und die entsprechende couchdb Fluss installiert. Ich habe mit elastic search und couchdb angefangen. Ich habe den network.host von elasticsearch als IP-Adresse definiert: 10.0.0.129. Ich folgte den Anweisungen in der tutorial:

curl -XPUT '10.0.0.129:9200/_river/{A}/_meta' -d '{ 
    "type" : "couchdb", 
    "couchdb" : { 
     "host" : "localhost", 
     "port" : 5984, 
     "db" : "bestdb", 
     "filter": null 
    }, 
    "index" : { 
     "index" : "{B}", 
     "type" : "{C}", 
     "bulk_size" : "100", 
     "bulk_timeout" : "10ms" 
    } 
}' 

{A}: Was ist das? Mein Verständnis ist, dass dies nur ein interner elastischer Suchindex ist, oder? Es wird nicht zum Abfragen oder Suchen verwendet, oder? Also könnte das irgendein Name sein, oder?

{B}: Was ist das für ein Index? Wie unterscheidet sich das von dem oben genannten? Was sollte der Wert in meinem Szenario sein?

{C}: Bezieht sich dies auf den Dokumententyp in CouchDB, wie product oder customer?

Das Online-Tutorial setzt nur alles auf den gleichen Wert. Wie würde meine curl-Anweisung aussehen, wenn ich alle Produktdokumente oder Kundendokumente abfragen möchte?

Vielen Dank an alle, die die Dinge ein wenig für mich aufräumen.

Grüße, Mark Huang

Antwort

1

Dokumentation kimchy Blätter oft ein wenig für die Phantasie. :-)

Ein ist der Name des Flusses. Ein Fluss ist nur ein ES-Dokument, gespeichert in einem Index mit dem Namen _river, einem Typ mit dem Namen was immer Sie wollen, und einer Dokument-ID _meta.

B & C ist die lokale index/_type, dass Ihr bestdb couchdb _changes Strom wird in indiziert. Diese können durch die Felder _index und _type in Ihren couchdb-Dokumenten überschrieben werden. Wenn keine der oben genannten Informationen bereitgestellt wird, wird standardmäßig der Name Ihrer CouchDB-Instanz bestdb/bestdb verwendet.

+0

Vielen Dank für die Antwort, wirklich zu schätzen wissen. Kannst du mir den Kontext erklären, den ich dir gegeben habe? Produktdokumenttyp? Was wären die Felder _index und _type? In meinem Fall wäre _index (oder aus obigem Beispiel {B}) die Produkt ID UND _Typ "Produkt"? – Mark

+0

Wenn ich das Indexobjekt nicht hinzufüge, wie frage ich meine couchdb-Instanz ab? – Mark

+0

Ich bin ein wenig nicht vertraut mit, wie Couchdb funktioniert, aber aus dem ES-Code, wenn die Dokumente aus Ihrem '_changes' stream' _index 'und' _type'-Felder haben diese die Standardeinstellung in den Flusseinstellungen überschreiben. Sie können also in den Einstellungen sinnvolle Standardwerte für ** B ** und ** C ** festlegen, aber um Produkt -/Kundendokumente für Ihre Geschäftslogik zu trennen, sieht es so aus, als würden Sie einige Arbeiten in Ihrem Unternehmen erledigen müssen couchdb Dokumentation. – drewr

Verwandte Themen