@firebase-me/firetext-functions
v0.0.2-beta.4
Published
Firebase Firestore Text Search Indexer
Downloads
4
Readme
vAlpha 0.1 PLEASE TEST AND GIVE FEEDBACK
FIRETEXT is a Firestore based index table for text based queries and is an experimental concept
This is the Cloud Function module that triggers with onUpdate()
Client version, please look at https://www.npmjs.com/package/@firebase-me/firetext
Simply import or require the module as prefered.
import FireText from 'firetext-functions';
const FireText = require('firetext-functions');
All exports are built on Firebase https.onCall
methods.
Then you export it with some configuration parameters
export.updateMyText = FireText.UpdateRecord("Path/{To}/Collection", "Path.To.Field");
We also export a hard reset option which rebuilds your index, this requires a validation check on your behalf, simply return true or false. False is the default.
export.RebuildIndex = FireText.ForceReset("Path/{To}/Collection", "Path.To.Field"
AuthCallback, RuntimeOptions);
const AuthCallback = (data,context) =>{
if(context.auth.admin)
return true;
else return false;
};
Notes
CollectionPath accepts all standard path strings that
firestore.collection()
will takePathToField is a string path that is the field name to the value you want to monitor using dot notation "posts.title"
Currently, multiple fields with wild cards are not supported "posts.{id}.title"
It is unknown if Collection Groups are supported
AuthCallback (can be any name) is a callback function that is required to return
true
orfalse
to proceed -false
is the defaultRuntime Opts allows you to configure the runtime operations, by default these are maxed out to 560 seconds and 8GB to help with large collections
Currently there is no way to prevent overwriting any updates that may be queued while this process is working Also, the process is limited to one document per field at the moment. I would like to look into Batching the requests and paginating them as well as a timeout callback
https://discord.firebase.me/
Firebase Developers
Firebase Me Program