I have a nodejs app running on nodejitsu server.
Lately I want to build search functionality for my app. The elasticsearch technology seems suitable for me. I understand that elasticsearch is java base. To run it I need java server. Which I can't afford.
I think I have options like these:
1-rent heroku java hosting service then install elasticseach.
2-subscribe to heroku hosting plan and install one of the elasticsearch addon available (such as bonsai)
3-Go directly to elasticsearch service provider such as searchbox.io and subscribe a plan
So which one do think is best for my situation?
Full disclosure: I work on the Heroku Add-ons team.
Going through your suggested options:
1) Dynos are ephemeral and are restarted whenever you deploy a code change, update a config var, or at least once a day. You'd still need to work out how to handle persistance or rebuild the index every time one of those events occurred.
2) You've actually got 3 options in the Add-ons Marketplace at the moment: check this one, Bonsai is the only one that is out of beta.
3) Searchbox is available via Add-ons.
I work at Heroku, and in particular on Add-ons, because I love the product and believe it's the future. You've got better and more useful things to be doing than managing servers and making sure they are up, like actually building your app. I usually find the free plans are more than adequate to test if I want to use a service, and that paid plans on Bonsai start really cheap given the amount of time and hassle they save me (the other two you can't pay for just yet).
Hope that helps,
Glenn