Ich baue in Swift eine iOS-App mit einem Firebase-Backend. Ich brauche erweiterte Suchoptionen für meine App. Mir wurde gesagt, dass ich Flashlight / ElasticSearch über diesen GitHub-Link Ссылка
verwenden sollteAngenommen, der Name meiner App lautet SneakerSearch und mein
%Vor%Ich brauche einen Rat mit den Schritten, um dies einzurichten, da ich neu bei Heroku und Node.js bin. Ich habe es vorher noch nie gelernt, aber ich habe bereits den Heroku Werkzeuggürtel installiert und 'sudo gem heroku install' ist fertig.
Ich habe die github Richtungen / Schritte und die Schritte aufgelistet, die ich für jede Richtung genommen habe. Ich brauche Hilfe bei den Anweisungen: 1,4,5,6,9,10,12 und 15.
%Vor%1. Ich melde mich bei Heroku.
1.-FRAGE: Muss ich den Namen meiner App erstellen und bereitstellen, nachdem ich mein Heroku-Konto eingerichtet habe oder sollte ich bis Schritt 9 warten?
%Vor%2.Ich klicke das obige in den Projektordner meiner iOS-App
%Vor%3. In der Eingabeaufforderung starte ich zunächst "npm init" und dann "npm install"
%Vor%4A.-FRAGE: Was ist "FB_SERVICEACCOUNT"? Ich verwende Firebase 3 und konnte in einem Dienstkonto in meiner Konsole nichts finden. Ist das ein weiterer Firebase-Account, den ich für mein Projekt mit node.js zusätzlich zu dem Firebase-Swift-Projekt, das ich bereits erstellt habe, einrichten muss?
4B.-FRAGE: Wo bearbeite ich "config.js" und setze meine FB_URL und FB_SERVICEACCOUNT auf? Sollte dies in meiner package.json Datei sein?
%Vor%5.-FRAGE: Im Terminal habe ich "node app.js" ausgeführt und "throw err; ^" bekommen. Warum habe ich diesen Fehler erhalten?
%Vor%6.-FRAGE: Wofür ist das?
%Vor%7.Schalten Sie auf die Taschenlampe dir
%Vor%8.logged in Heroku
%Vor%9A-FRAGE: Als ich mein Konto bei Heroku eingerichtet habe, sollte ich eine neue App mit dem Namen meiner App erstellen und sie mithilfe der aufgelisteten git-Anweisungen bereitstellen? Wenn ich das nicht zuerst hätte tun sollen, würde "heroku create" diesen Prozess für mich leiten?
9B-FRAGE: Führe ich einfach "heroku create" aus oder führe ich "heroku create -apps name- here" aus?
%Vor%10.-FRAGE: Muss ich bei Bonasi.io ein Konto einrichten und es vor diesem Schritt installieren oder erstellt das für mich einen Bonsai-Account? Ich habe noch nie Bonsai verwendet.
%Vor%11. Ich schätze, diese Frage hängt von Schritt Nr. 10 ab.
%Vor%12.-FRAGE: Was ist die Firebase TOKEN? Ist das mein Web_API_Key, App_URL oder Project_ID? Ich konnte in meiner Firebase-Konsole nichts spezifisch für "Token" finden. Ich verwende Firebase 3.
%Vor%13. Commit mit Nachricht
%Vor%14. Push to Master
%Vor%15.-FRAGE: Wofür ist das?
Dies ist eine zweiteilige Antwort, wobei der erste Teil über die Github-Richtungen geht und mit Schritt 19 endet. Der zweite Teil erweitert mehr Informationen, die nicht in den ersten Teil passen konnten, und es wird in Schritt 19 im Detail beginnen. Ich muss es zu einer anderen Frage hinzufügen und verlinken.
Hier sind die Github
Schritte aufgelistet. Zu Ihrer Information: Ich habe die ursprünglichen Schritte in Übereinstimmung mit dem ursprünglichen Github author
beibehalten, aber darunter habe ich eine Reihe von Unterschritten mit detaillierten Erläuterungen und Anweisungen unter jedem eingefügt.
Angenommen, Sie haben bereits ein Firebase
-Projekt erstellt und Ihre GoogleService-Info.plist
-Datei
Öffnen Sie Ihre GoogleService-Info.plist
-Datei. Die folgenden variables
von Github directions
korrelieren mit GoogleService-Info.plist keys
Unter jedem Github
step habe ich Kommentare und dann Anweisungen. In den Anweisungen, in denen ich die folgenden Werte verwende, solltest du stattdessen project's values
verwenden. Für die Schrittbeispiele verwende ich diese keys
und values
:
Schnelles Datenmodell: (Dies entspricht dem, was Sie in Schritt 19 in Ihr Zuordnungsobjekt eingegeben haben)
%Vor%VC mit Dateipfaden, in denen ich Daten an Firebase sende und searchSnkPath ist ein separater Dateipfad, in dem Bonsai seine Suchvorgänge ausführt:
%Vor% Innerhalb von FBDatabase
ist der Pfad, in dem meine zu suchenden Daten gespeichert werden, in root/searchSnkPath/autoID
gespeichert, und er hat 2 keys
namens sneakercondition
und sneakername
, die die Daten darstellen. Der Pfad, aus dem ich meine Suchergebnisse abrufen möchte, ist root/searchSnkPath
Wenn ich nach dem searchSnkPath
suchen und nach diesen 2 keys
fragen möchte, dann würde ich in der config.js
Datei exports.paths
finden und dort würde ich die Informationen für die Suche nach
Schritt 4 deckt all das ab
Wichtig Nachdem Sie git clone https://github.com/firebase/flashlight
(Schritt 2A) ausgeführt haben, müssen Sie cd
in den Ordner flashlight
(Schritt 2B) einfügen, da ALLE Schritte von diesem Punkt an innerhalb von% co_de stattfinden % Ordner und NICHT der Ordner Ihres Haupt-Xcode-Projekts. Nichts funktioniert nicht im Ordner Ihres Xcode-Projekts, da es keine package.json-Datei
Teil 1 - Github-Schritte:
1 • Installieren und starten Sie ElasticSearch oder fügen Sie den Bonsai-Service über Heroku hinzu
1. Kommentare:
- flashlight
wird in Schritt 10 hinzugefügt
-Sie müssen die folgenden Schritte 1A-1E in der Reihenfolge haben, bevor Sie fortfahren
1.Richtungen:
1A. Downloaden und installieren Sie Bonsai
von Ссылка
1B. Laden Sie das Node.js
(es wurde in Heroku Toolbelt
umbenannt) herunter und installieren Sie es unter Ссылка . FYI Ich habe den OS X Installer und nicht OS X Homebrew benutzt.
1C. Nachdem Sie Heroku CLI
heruntergeladen und installiert haben, melden Sie sich bei Heroku.com an und erstellen Sie ein Konto
1D. Nachdem Sie ein Heroku Toolbelt/CLI
-Konto erstellt haben, müssen Sie kein neues Heroku
erstellen. Dies geschieht in Schritt 9 über die Befehlszeile. Es ist sehr einfach
1E. Öffne das Terminal und rufe: Heroku App
, um den aktuellen node -v
deines laufenden Spiels herauszufinden (zum Beispiel bekommst du node version
). In Schritt 2D müssen Sie sicherstellen, dass die Version von dort mit dieser Ausgabe übereinstimmt.
2 • Git Klon Ссылка
2. Kommentare:
- Das Xcode-Projekt lebt auf dem Desktop in einem Ordner namens v6.9.1
-Inside-Terminal, das Sie sneakerSearchFolder
zum SneakerSearchFolder-Ordner - d. h. run: cd
- Im SneakerSearchFolder haben Sie cd Desktop/sneakerSearchFolder
clone
bei Ссылка
- Wichtig Sie haben dann the github repo
bis cd
Ordner, also run: flashlight
-Die cd flashlight
wird nach Ссылка
-run: node version
, um zu bekommen, was node -v
später im node version
-Ordner (dh flashlight
) ausführt, wenn du v6.9.1
erstellst, wirst du entsprechend dem obigen Heroku instance
-Link benötigen
- Wenn Sie nun im Ordner " devcenter.heroku
" den von Ihnen ausgeführten flashlight
nicht mit der Version von Schritt 1E vergleichen, müssen Sie die Version im Flashlight-Ordner aktualisieren, damit sie übereinstimmen. Upgrade von Node.js auf die neueste Version Wenn beide Versionen übereinstimmen, dann Sie mach dir keine Gedanken darüber
- Wenn Ihre Knotenversionen übereinstimmen, öffnen Sie die node version
-Datei in Ihrem package.json
-Ordner und fügen Sie ein flashlight
-Objekt hinzu, wobei der Wert des Schlüssels der "engines"
ist, den Sie gerade verwenden
2.Richtungen:
2A. im Terminal navigieren Sie zu dem Ordner, in dem sich Ihr Xcode-Projekt befindet
2B. run: node version
2C. run: git clone https://github.com/firebase/flashlight
2D. run: cd flashlight
2E. Öffnen Sie den Ordner node -v
und öffnen Sie dann flashlight
.Fügen Sie der Datei Folgendes hinzu:
2E-Beispiel. Hier ist ein Beispiel. Öffnen Sie package.json
und fügen Sie sie nach package.json
"dependencies"
hinzu. Achten Sie darauf, nach der schließenden Klammer einen COMMA hinzuzufügen. Und fügen Sie nicht das "v" vor der Versionsnummer hinzu. Speichern Sie die Datei.
3 • npm installieren
Von diesem Punkt an ist es sehr wichtig, dass Sie sich in Ihrem closing brace
Ordner befinden und nicht im Ordner Ihres Hauptprojekts, sonst werden Sie Fehler bekommen
3. Kommentare:
- Sie sollten sich immer noch in Ihrem flashlight
-Ordner befinden
- Melden Sie sich in flashlight
an, gehen Sie in der Konsole Ihres FB-Projekts zu Firebase
(kleine runde Ikone neben Project's Settings
), wählen Sie in den Projekteinstellungen Overview
, gehen Sie zum Abschnitt SERVICE ACCOUNTS
. Es gibt 2 Dinge, die du hier machen musst. 1. Finde und kopiere dein Firebase Admin SDK
, es sieht aus wie [email protected] und 2. unten auf der Seite musst du auf klicken Firebase service account
button, es wird ein Generate New Private Key
heruntergeladen, das Sie in Unknown file
umbenennen müssen. Wenn die Datei etwas außer service-account.json
benannt wird, benenne sie einfach in Unknown
um. Nachdem Sie die Datei umbenannt haben, ziehen Sie sie in Ihren service-account.json
Ordner, da Step 4B flashlight
von dort auf diese Datei zugreifen muss. Vergewissern Sie sich, dass Sie die Datei innerhalb des FB_SERVICEACCOUNT
!
-Dies ist nicht in den GitHub-Schritten aufgeführt, aber es ist notwendig. Sie müssen FLASHLIGHT FOLDER
zu Ihrem Projekt hinzufügen
-Sie müssen sich in Ihrem Firebase Server SDK Credentials
-Ordner befinden, um den $ flashlight
-Befehl auszuführen, oder Sie erhalten Fehler, weil nach einer npm install firebase-admin --save
-Datei gesucht wird. Die Datei befindet sich bereits im Ordner packae.json
und nicht im Ordner des Haupt-Xcode-Projekts
- Folgen Sie den Anweisungen in Ссылка im Abschnitt " flashlight
". Sie benötigen 2 der Werte aus der Datei Initialize the SDK
(die jetzt in Unknown
umbenannt werden sollte), um sie zu initialisieren. Die Werte sind in den Zeilen 5 service-account.json
und 6 private_key
. FYI die clientEmail
und clientEmail
sind das gleiche
-Hier ist, was du Firebase service account
in initializing
:
-FYI Innerhalb des Abschnitts SDK
haben Sie auch die Möglichkeit, den oberen Teil zu verwenden, in dem Initialize the SDK
steht. Sie können stattdessen den Pfad zur umbenannten Unbekannten Datei angeben. Ich wähle den unteren path/to/serviceAccountKey.json
-Teil, da es einfacher war. Wenn Sie diese Schritte ausführen, müssen Sie sich jedoch keine Gedanken darüber machen.
-Innerhalb des inline
-Ordners befindet sich eine flashlight
-Datei, kopiere den obigen Code und füge ihn oben in die Datei ein
-Back in Terminal in der Befehlszeile ausführen: app.js
-Wenn alles gut ist, sind die einzigen Warnungen, die Sie haben sollten, npm install
und No repository field
3.Richtungen:
3A . Stellen Sie sicher, dass Sie im Ordner No license field
ausgeführt werden: flashlight
3B. Melden Sie sich auf der Seite pwd
von Firebase Console
an und klicken Sie auf die Schaltfläche SERVICE ACCOUNTS
, um eine Generate New Private Key
-Datei herunterzuladen.
3C. Benennen Sie die Datei Unknown
in Unknown
um und fügen Sie die Datei in den Ordner service-account.json
3D. Kopieren Sie in der flashlight
-Datei die service-account.json
named key
oder kopieren Sie die Dienstkontoinformationen auf Ihrer client_email
Seite
3E. Im Terminallauf: Firebase SERVICE ACCOUNTS
3F. Kopiere, was in der Sektion npm install firebase-admin --save
steht und initialisiere die Felder mit diesen Werten:
3G. Öffnen Sie im Ordner Initialize the SDK
die Datei flashlight
, fügen Sie den obigen Code mit den korrekten Werten ein / speichern Sie ihn
3H. run: app.js
4 • bearbeite config.js (siehe Kommentare oben, du musst FB_URL und FB_SERVICEACCOUNT mindestens)
4. Kommentare:
- Fügen Sie Ihrem npm install
-Ordner eine Datei mit dem Namen flashlight
hinzu, öffnen Sie sie
-In dieser Datei config.example.js
finden Sie die Variablen config.example.js
und FB_URL
(diese sind in den Zeilen 13 und 23 aufgelistet)
-Sie müssen FB_SERVICEACCOUNT
in exports.FB_URL = process.env.FB_URL || 'https://<YOUR APP>.firebaseio.com';
ändern (stellen Sie sicher, dass exports.FB_URL = process.env.FB_URL || 'whatever_your_DATABASE_URL_is';
in einfache oder doppelte Anführungszeichen gesetzt wird)
-in Zeile 23 whatever_your_DATABASE_URL_is
ist das, was verwendet wird, um auf das exports.FB_SERVICEACCOUNT = process.env.FB_ACC || 'service-account.json';
von Schritt 3C zuzugreifen (es ist nicht notwendig, hier irgendetwas hinzuzufügen oder zu ändern, da es selbst darauf zugreifen wird)
- Sie müssen nun den Pfad festlegen, an dem sich Ihre Daten befinden (wie der searchPath , der verwendet wird, um Daten an den FB innerhalb des ViewControllers zu senden), den Index (Schritt 17) und den Typ (ähnlich Ihrem Datenmodell), die Sie in den Zeilen 64, 65 und 66 überwachen möchten
%Vor% - service-account.json file
ist der Ort, an dem sich path
in data
befindet. Hier wollen Sie Suchergebnisse aus d. H.% Co_de%
- FB
exp in Schritt 17
- <DATABASE_URL>/searchSnkPath
exp in Schritt 19
-FYI Zeilen 69-79 richten einen anderen Pfad ein, den Sie überwachen möchten. Sie können diese löschen oder kommentieren, wenn Sie möchten. Sie können auch mehrere zu überwachende Pfade erstellen, d. H. Wenn Sie einen Pfad index
hätten, würden Sie auch danach suchen. Sie können auch weitere Pfade hinzufügen, wenn Sie möchten.e:
-FYI type
sind die <DATABASE_URL>/searchClothingPath
, die in ES indiziert werden. Dies ist eine optionale Ergänzung. Wenn du 10 Fields
hättest und nur 2 davon keys
hättest, dann würdest du das hinzufügen. Dies bedeutet, dass von den 10 Schlüsseln nur die 2 keys
durchsuchbar wären. Sie können auch die Analysefunktion in der indexed
-Datei verwenden, um dasselbe zu tun
-Speichern / schließen Sie das keys
später und benennen Sie es um config.js
4.Richtungen:
4A. Öffnen Sie die Datei config.example.js
und ändern Sie in Zeile 13 config.js
in config.example.js
4B. Zeile 23 wird verwendet, um auf die Datei exports.FB_URL = process.env.FB_URL || 'https://<YOUR APP>.firebaseio.com';
zuzugreifen (solange Sie die exports.FB_URL = process.env.FB_URL || 'https://sneakersearch-az12.firebaseio.com';
in Schritt 3C umbenannt haben, gehen Sie einfach weiter)
4C. Zeile 64,65,66, was ich überwachen möchte und in Zeile 67 habe ich die service-account.json
für die beiden Unknown file
hinzugefügt, die ich suchen möchte, obwohl das nicht der Fall ist notwendig
4D. Speichern / schließen Sie die Datei fields key
. Benenne nun die Datei Firebase Database Keys
.
5 • Knoten app.js (Ausführen der App)
5. Kommentare:
-Sie werden diesen Befehl nicht bis zum Ende ausführen, überspringen Sie es für jetzt, aber es gibt etwas, was Sie wissen sollten. Wenn Sie config.example.js
ausführen, wird Ihre Heroku-App auf Ihrem lokalen Computer ausgeführt. Es sucht lokal nach ElasticSearch, das Sie nicht haben, so erhalten Sie Verbindungsfehler. Wenn Sie es lokal ausführen möchten, müssen Sie den config.js
-Code in Schritt 12B-Optional ausführen, der zum Lösen lokaler Verbindungsfehler benötigt wird. Wenn Ihre App einschläft oder abstürzt (exp am Ende), müssen Sie den Befehl node app.js
erneut ausführen. Außerdem wird Heroku die App automatisch ausführen, wenn Sie den Code dorthin schieben.
- Für diesen Schritt müssen Sie jetzt Ihre export BONSAI_URL="<your_bonsai_url>"
-Datei öffnen und gemäß Ссылка Code hinzufügen . Sie sollten den Code irgendwo nach der export BONSAI_URL="<your_bonsai_url>"
-Deklaration hinzufügen.
-Die Anweisung sagt auch, $ app.js
(also var elasticsearch = require('elasticsearch')
) auszuführen, was Sie NUR tun würden, wenn Sie Ihre App lokal ausführen möchten, um ES zu verwenden. Es ist nicht für Remote
5.Richtungen:
5. Öffnen Sie die Datei export BONSAI_URL="https://username:[email protected]"
und fügen Sie den folgenden Code hinzu und speichern Sie die Datei:
6 • curl -X POST Ссылка
6.com:
-Skipiere diesen Schritt, weil du an dieser Stelle kein lokales export BONSAI_URL="<your_BONSAI_URL>"
auf deiner CPU hast, um zu indexieren
6.Richtungen:
6. ÜBERSCHREIBEN SIE DIESEN SCHRITT
7 • CD-Taschenlampe
7.commentations:
- Sie müssen dies nicht tun, Sie sollten sich immer noch in Ihrem app.js
-Ordner befinden.
7.Richtungen:
7. ÜBERSCHREIBEN SIE DIESEN SCHRITT
8 • Heroku-Anmeldung
8.comments:
-Open Terminal
- Sie müssen Ihre ES
s flashlight
und Heroku
eingeben. Wenn Sie das Passwort eingeben, wird es leer angezeigt
8.Richtungen:
8A. run: email address
8B. Bei der Eingabeaufforderung geben Sie Ihre password.
und heroku login
ein, um sich bei Heroku anzumelden
9 • heroku create (füge heroku dem Projekt hinzu)
9.comments:
-Daher musst du in Schritt 1D keine email address
-App erstellen. Jetzt erstellen und benennen Sie Ihre heroku App
- Nach der Eingabe von password
müssen Sie den Namen eingeben, den der Name Ihrer heroku-App haben soll. ich wähle den Namen heroku
- Nachdem Sie diesen Befehl ausgeführt haben, melden Sie sich bei create
an und Sie sollten den Namen der App sehen. Gehe in die rechte Ecke, klicke auf sneakersearchinstanceAtoZ
und wähle Heroku
9.Richtungen:
9. run: 9 dots
10 • Heroku-Addons: Bonsai hinzufügen (Bonsai installieren)
10.Kommentare:
- Bevor Sie diesen Schritt ausführen, müssen Sie Ihrem Dashboard
-Konto ein heroku create sneakersearchinstanceAtoZ
hinzufügen, andernfalls wird es nach der Ausführung angezeigt, dass Sie es tun müssen. Es ist immer noch ein freier Plan. Ich bin mir nicht sicher, ob Sie eine credit card
ohne Karte hinzufügen können
- Um eine Kreditkarte hinzuzufügen, gehen Sie ganz nach rechts, klicken Sie auf das kreisförmige Symbol, wählen Sie Heroku
und dann Bonsai add on
- Sie müssen jetzt Account Settings
zu Ihrer Billing
hinzufügen. Dazu führen Sie bonsai
- heroku app
ist unabhängig vom Namen der heroku addons:add bonsai --app <your-app-name>
-App, den Sie in Schritt 9 erstellt haben
- Nachdem Sie <your-app-name>
erstellt haben, möchten Sie, dass Sie den Cluster öffnen, indem Sie heroku
10.Richtungen:
10A. Melden Sie sich bei bonsai cluster
an und fügen Sie eine Kreditkarte zum heroku addons:open bonsai
10B. run: Heroku
// Derselbe genaue Name wie in Schritt 9
10C. Führen Sie Billing Page
11 • heroku config (Überprüfen Sie die Bonsai-Instanzinformationen und kopieren Sie Ihre neue BONSAI_URL Sie werden es später brauchen)
11.Kommentare:
-Running heroku addons:add bonsai --app sneakersearchinstanceAtoZ
erhält alle Ihre heroku addons:open bonsai
und ihre entsprechenden Werte. Wenn du deine heroku config
siehst, kopiere ihren Wert, du brauchst ihn für die Schritte 12B und 17
- Dies ist die exakt gleiche URL, die Sie in Schritt 10C sehen.
-Das environment variables
könnte etwas wie bonsai's url
11.Richtungen:
11A. run: bonsai url
11B. Kopieren Sie das https://abc123a01:[email protected]
, das zurückgegeben wird
12 • heroku config: setze FB_NAME = FB_TOKEN="" (deklariere Umgebungsvariablen)
12.Kommentare:
-12A ist erforderlich. Sie müssen die heroku config
Ihres Projekts bonsai url
verwenden, die die GoogleService-Info.plist
und die PROJECT_ID
ist die FB_NAME
für diesen Schritt
-12B ist optional. Wenn du dich lokal mit API_KEY
verbinden willst, führe dies aus. Sie müssen FB_TOKEN
so einstellen, dass das Ausführen von ElasticSearch
keine Verbindungsfehler auslöst. Dazu führen Sie Folgendes aus: bonsai url
. Sie müssen diesen Befehl pro Terminal-Sitzung ausführen oder wenn Ihre Heroku-App einschläft / abstürzt.
- Verwenden Sie keine Leerzeichen vor oder nach dem Gleichheitszeichen
12.Richtungen:
12A (ERFORDERLICH). run: node app.js
12B (optional) .run: export BONSAI_URL="<your_bonsai_url>"
13 • git add config.js (aktualisieren)
13.comments:
- Wenn Sie das ausführen, erhalten Sie möglicherweise einen Fehler, der besagt: Die folgenden Pfade werden von einer Ihrer .gitignore-Dateien ignoriert: config.js Verwenden Sie -f, wenn Sie sie wirklich hinzufügen möchten.
- Es wird gesagt, dass heroku config:set FB_NAME=sneakersearch-az12 FB_TOKEN=0012abc789xyz00019
und dann export BONSAI_URL="https://abc123a01:[email protected]"
am Ende
13.Anweisungen:
13A. run: git add config.js
13B. Bei einem Fehler run: -f
14 • git commit -m "Bonsai konfigurieren"
14.Richtungen:
14. run: git add config.js
15 • git push heroku master (auf Heroku anwenden)
15.Richtungen:
15. run: git add config.js -f
16 • heroku ps: Maßstab Worker = 1 (Start Dyno Worker)
16.comments:
- Die Antwort darauf, was dieser Befehl macht, ist hier Kann jemand "heroku" erklären? ps: skala web = 1 "
16.Richtungen:
16. run: git commit -m "configure bonsai"
17 • curl -X POST / Firebase (zB: Ссылка )
17.comments:
- Bevor Sie diesen Schritt beginnen, lesen Sie @DoesData aktualisierte Antwort (unter Minen), um stattdessen curl -X PUT zu verwenden
-Grabieren Sie das git push heroku master
, das Sie aus Schritt 11B kopiert haben
: Fügen Sie die URL nach dem Befehl heroku ps:scale worker=1
ein und stellen Sie sicher, dass Sie bonsai url
am Ende hinzufügen.
-wenn dies geschieht, erstellt es einen Index namens curl -X POST
, der auf Ihre /firebase
verweist. Öffnen Sie Ihre Datei /firebase
und suchen Sie nach bonsai url
(Zeile 62). Das hat ein Schlüssel / Wert-Paar namens config.js
(Zeile 65), der Wert zeigt auf den gerade erstellten Index und greift von dort auf den ES-Cluster zu
-Basisch in Ihrer Datei config.js muss in Zeile 65 der exports.paths
-Wert index: "firebase"
genau mit dem Namen index
übereinstimmen, den Sie zum Ende firebase
hinzufügen. Wenn die Namen nicht übereinstimmen, funktioniert nichts davon.
-bei Erfolg sollten Sie diese Antwort zurück erhalten: /firebase
17.Richtungen:
17. run: curl -X POST
18 • Nun ist es an der Zeit, Schritt 5 node app.js zu verwenden (führen Sie die App aus)
18.Kommentare:
- Durch Ausführen dieses Befehls wird die App lokal gestartet. Sie können {"acknowledged":true}
auch ausführen, aber auf irgendeine Weise wird es auf Ihrem lokalen Rechner gestartet und Sie müssen den Code in Schritt 12B (Optional) ausführen, damit dies funktioniert
18.Richtungen
18. run: curl -X POST https://abc123a01:[email protected]/firebase
19 • Setzen Sie Ihre Zuordnungsobjekte (s)
FYI Schritt 19 ist sehr wichtig. Sie MÜSSEN Ihr MAPPING-OBJEKT einstellen und es ist SCHLÜSSEL. Ich habe nicht genug Zeichen, um es hier im Detail zu erklären. Dies ist der Schlüssel npm start
von Schritt 4, mit dem festgelegt werden soll. In diesem Video erfährst du, wie du deinen node app.js
: Ссылка einrichtest
19.Richtung:
19A. --open type
oder mappings object
Dann erstellen Sie eine Datei und nennen Sie sie TextEdit
. Speichern Sie es und ziehen Sie die Datei in Ihren Sublime
Ordner. Sie benötigen die Erweiterung sneakerfile.json
.
19B. - Fügen Sie den folgenden Code hinzu, speichern und schließen Sie die Datei:
%Vor% 19C. schnappen Sie sich Ihre flashlight
run .json
. Meine BONSAI_URL ist Ссылка
19D. run: BONSAI_URL
19E. run: heroku config:get BONSAI_URL
Fertig mit Teil 1. Teil 2 erklärt Schritt 19 im Detail
Weitere Informationen -
Heroku Befehle:
Überprüfen Sie Ihre curl -XPOST https://abc123a01:[email protected]/firebase/sneakers/_mapping [email protected]
run: curl -XGET <BONASI_URL>/firebase/sneakers/_mapping?pretty
Wenn Sie Folgendes erhalten, dann lesen Sie die folgenden Links
%Vor% Nach dem Erstellen Ihres dyno
ist Ihr heroku ps
unter dem Heroku app
. Es wird schließlich dyno
/ Heroku Free Plan
, wenn es nicht innerhalb eines bestimmten Zeitrahmens verwendet wird. Um zu schlafen / Absturz zu stoppen, folgen Sie
Einfache Möglichkeit, Heroku im Leerlauf zu verhindern?
Andere Befehle:
%Vor% Um zum fall asleep
zurückzukehren, drücken Sie crash
Sie können auch den Heroku Support oder Bonsai Support kontaktieren, da diese sehr hilfreich sind
Ich werde Teil 2 sehr bald veröffentlichen.
Die obige Antwort ist großartig. Allerdings gibt es viel zu viele Kommentare für mein Update, um dort nützlich zu sein, also lege ich es hier.
Wenn Sie die obigen Schritte befolgen, treten Sie in Schritt auf:
Neuere Versionen von elasticSearch erlauben es nicht mehr, einen neuen Index mit POST zu erstellen, aber Sie können PUT verwenden. Sie möchten also
ausführen %Vor% und die Antwort sollte lauten: {"acknowledged":true,"shards_acknowledged":true}
Siehe Diese Frage für weitere Informationen.
Aktualisieren
Ich bin auch zu Algolia gewechselt, weil die Dokumentation viel klarer war. Ich würde jedoch sagen, dass die Dokumentation der elastischen Suche ein Update dringend benötigt. Ich würde empfehlen, dass diejenigen, die an der elastischen Suche interessiert sind, versuchen, ihren Code mithilfe von Firebase-Cloud-Funktionen statt mit Heroku bereitzustellen. Ich konnte keinen Leitfaden dafür finden, aber der node.js-Code sollte ähnlich sein, außer dass er in der Firebase-Cloud anstelle von Heroku bereitgestellt wird. Dies sollte den Prozess viel einfacher machen. Sie können die Firebase Cloud-Funktionen hier
aufrufenTags und Links firebase node.js heroku flashlight bonsai-elasticsearch