我正在考虑将 Firebase 用于人们应该对数千个对象的集合使用全文搜索的应用程序。我喜欢提供仅客户端应用程序的想法(不必担心托管数据),但我不确定如何处理搜索。数据将是静态的,因此索引本身并不是什么大问题。
我假设我需要一些额外的服务来运行查询并返回 Firebase 对象句柄。我可以在某个固定位置启动这样的服务,但我不得不担心它的可用性和可扩展性。虽然我不希望这个应用程序有太多的流量,但它可能会在几千个并发用户时达到峰值。
建筑思想?
我正在考虑将 Firebase 用于人们应该对数千个对象的集合使用全文搜索的应用程序。我喜欢提供仅客户端应用程序的想法(不必担心托管数据),但我不确定如何处理搜索。数据将是静态的,因此索引本身并不是什么大问题。
我假设我需要一些额外的服务来运行查询并返回 Firebase 对象句柄。我可以在某个固定位置启动这样的服务,但我不得不担心它的可用性和可扩展性。虽然我不希望这个应用程序有太多的流量,但它可能会在几千个并发用户时达到峰值。
建筑思想?
从长远来看,Firebase 可能有更高级的查询,所以希望它能直接支持这种事情,而无需您做任何特别的事情。在那之前,您有几个选择:
在 Firebase 有更高级的查询之前,如果您愿意运行一些服务器代码,#1 可能是您最好的选择。:-)
Google 当前进行全文搜索的方法似乎是与Algolia或BigQuery与Cloud Functions for Firebase同步。
这是 Firebase 的Algolia 全文搜索集成示例,以及可以扩展以支持完整搜索的BigQuery 集成示例。