googlearchive / flashlight

A pluggable integration with ElasticSearch to provide advanced content searches in Firebase.
http://firebase.github.io/flashlight/
756 stars 158 forks source link

Firebase Cloud Functions support #161

Open bevbomb opened 7 years ago

bevbomb commented 7 years ago

We all know that Google has extended its cloud functions to work quite well in Firebase and at the moment they have a full text search example but it uses a third party service to perform searches called Algolia.

I really like the way elastic search works and i would love to be able to run this project using Firebase cloud functions.

Do you think it's possible to get this working in Firebase cloud functions? And do you think you'll extend the deployment support for it?

Thanks in advance.

katowulf commented 7 years ago

The code for the Functions implementation is terribly simple. It would essentially just be switching out the Algolia call for a call to ES.

Unlikely that we'll extend this lib to work with Functions--there's really no need for this if you're using Functions.

TrashPanda commented 7 years ago

Hi, I am new to both elasticsearch and firebase function. I have made the flashlight working on my local machine but currently also considering the option of using cloud functions to handle that. I might be wrong here. From what I see in Algolia example, it seems that it indexes the the new object by adding it to the Algolia whenever there is a write. But what about delete and existing records? From what I tested flashlight takes care of the the every aspect data pretty well. There are also tuning options. Is it possible to explain more on how to incorporate it into cloud functions? Sorry for the noobish question if there is an obvious answer. Thanks!

wonsuc commented 7 years ago

Is there any way to find working example? I think most people who are using firebase would need ES+Cloud functions integration since firebase search query is too incomplete.

NicholasMKim commented 7 years ago

+1 for firebase functions support

yasir-netlinks commented 6 years ago

@katowulf Hi there, I am building a mobile app using React Native. I have been trying to understand what's really needed to integrate Elasticsearch, I came across some tutorials where they add Elasticsearch certified by bitnami and use Cloud functions. This is not free and requires money later on. Now I'm not sure if Flashlight is the solution, and I'm confused about flashlight too even though I read docs more than once. Do I clone this to my project ? Or do I learn from what has been done in Flashlight and do the same in my project (I'm assuming the files in lib folder) !? I really need help / at least a better explanation to guide me through this. Also you have mentioned : there's really no need for this if you're using Functions What did you mean! If we are using cloud functions, there is no need to use flashlight ?

bevbomb commented 6 years ago

I’ve had a production version of my elasticsearch running for a couple of months now. I deployed an elasticsearch through Google Cloud launcher as a compute engine. I’ve been using HTTPS to make calls to the elasticsearch server using the elasticsearch.js framework and firebase functions. When ever something is triggered in functions it handles the add/update/deletion of any elastic indexes. It’s terribly easy to do and you won’t need this framework.