我正在考慮將Firebase用於應該讓人們對幾千個對象的集合使用全文搜索的應用程序。我喜歡提供客戶端應用程序的想法(不必擔心託管數據),但我不知道如何處理搜索。數據將是靜態的,所以索引本身並不是什麼大問題。Firebase和索引/搜索
我假設我需要一些額外的服務來運行查詢並返回Firebase對象句柄。我可以在某個固定位置啓動這樣的服務,但是我不得不擔心其可用性和可擴展性。雖然我不期望這個應用的流量過大,但它可以在幾千個併發用戶達到峯值。
建築思想?
我正在考慮將Firebase用於應該讓人們對幾千個對象的集合使用全文搜索的應用程序。我喜歡提供客戶端應用程序的想法(不必擔心託管數據),但我不知道如何處理搜索。數據將是靜態的,所以索引本身並不是什麼大問題。Firebase和索引/搜索
我假設我需要一些額外的服務來運行查詢並返回Firebase對象句柄。我可以在某個固定位置啓動這樣的服務,但是我不得不擔心其可用性和可擴展性。雖然我不期望這個應用的流量過大,但它可以在幾千個併發用戶達到峯值。
建築思想?
長期來看,Firebase將會有更高級的查詢,所以希望它能夠直接支持這類事情,而不需要做任何特別的事情。在此之前,您有幾種選擇:
在Firebase進行更高級的查詢之前,如果您願意運行一點服務器代碼,#1可能是您最好的選擇。 :-)
Google目前進行全文搜索的方法似乎與Algolia或BigQuery與Cloud Functions for Firebase同步。
這裏是Firebase的Algolia Full-text search integration example及其BigQuery integration example,可以擴展以支持完整搜索。
糟糕。只需重新閱讀您的評論,即您的數據是靜態的。在這種情況下,選項#2不是必需的,選項#3變得更容易。您仍然必須弄清楚如何構建全文搜索索引,將其存儲在Firebase中,並讓客戶直接查詢,但應該完全可行。 –
感謝您確認我沒有錯過任何明顯的事情。我認爲#1可能是正確的路要走 - 在JavaScript中重新實現全文索引似乎不能很好地利用我的時間:-) –
請訪問http://lunrjs.com/用於完整的基於JS的全文索引解決方案。 – Nemo