J'essaie de connecter ma base de données Firebase avec Algolia Search. Je suis ce lien suivant d'Algolia. https://www.algolia.com/doc/tutorials/indexing/3rd-party-service/firebase-algolia/Utilisez Algolia Recherche avec base de données Firebase dans Xcode iOS Swift
Il est dit que j'ai créé une application Node.js, donc je l'ai fait. Ensuite, pour créer un fichier appelé .env et générer une nouvelle clé privée à partir de Firebase (ce que j'ai fait).
Mais l'étape suivante est un peu étrange car il me demande de créer un fichier JavaScript appelé index.js dans la section "Créer" du lien que je vous fournis. Dans la section "Créer", je suis très confus, et je ne sais pas si ce lien est une bonne façon de connecter ma base de données Firebase et Algolia pour la recherche.
Si quelqu'un maintenant comment faire cela, il m'aidera beaucoup. Merci d'avance pour vos conseils ou tutoriels si vous avez.
Tout d'abord je suis arrivé à créer un fichier .env (ce qui est le nom du fichier non une extension)
Voici la section « Créer » ce dont je parle
Troisième étapes est pour connecter la base de données Firebase (j'essaie de connecter le mien)
Ensuite, je dois exécuter le noeud index.js dans le terminal. Mais le terminal a déclaré FIREBASE FATAL ERROR: Impossible de déterminer l'URL de la base de données Firebase. Veillez à inclure l'option URL de la base de données lors de l'appel de firebase.initializeApp().
Voici mon fichier index.js:
var dotenv = require('dotenv');
var firebaseAdmin = require("firebase-admin");
var algoliasearch = require('algoliasearch');
// load values from the .env file in this directory into process.env
dotenv.load();
// configure firebase
var serviceAccount = require("./serviceAccountKey.json");
firebaseAdmin.initializeApp({
credential: firebaseAdmin.credential.cert(serviceAccount),
databaseURL: process.env.FIREBASE_DATABASE_URL // Here the error
});
var database = firebaseAdmin.database();
var algolia = algoliasearch(process.env.ALGOLIA_APP_ID, process.env.ALGOLIA_API_KEY);
// Index for Algolia with my database
var index = algolia.initIndex('users');
// Begin import
var contactsRef = database.ref("/users"); // My table calls users in firebase
contactsRef.once('value', initialImport);
function initialImport(dataSnapshot) {
// Array of data to index
var objectsToIndex = [];
// Get all objects
var values = dataSnapshot.val();
// Process each child Firebase object
dataSnapshot.forEach((function(childSnapshot) {
// get the key and data from the snapshot
var childKey = childSnapshot.key;
var childData = childSnapshot.val();
// Specify Algolia's objectID using the Firebase object key
childData.objectID = childKey;
// Add object for indexing
objectsToIndex.push(childData);
}))
// Add or update new objects
index.saveObjects(objectsToIndex, function(err, content) {
if (err) {
throw err;
}
console.log('Firebase -> Algolia import done');
process.exit(0);
});
}
// End Algolia import
Maintenant, mon fichier .env j'ai créé, mais il semble ne fonctionne pas:
ALGOLIA_APP_ID=TFISJH1AP3 // The name app in Algolia
ALGOLIA_API_KEY=83bd61cd47159f... // Secret Key
FIREBASE_DATABASE_URL=https://live-event-3989e.firebaseio.com // Maybe here it's not like that I got to write my firebase URL ?
[ici] (https://github.com/firebase/functions-samples/tree/master/fulltext-search) est un exemple –
Avez-vous essayé vous-même? Parce que j'ai déjà vu cette page aujourd'hui et ne m'a pas aidé –
Salut, "De la section" Créer "je suis très confus" Pouvez-vous expliquer quelle partie est confuse pour vous? Merci. – vvo