我想在我的應用程序中創建一個簡單的搜索,但無法在interwebs上找到任何關於它的內容,這比2014年更新。必須有更好的方法。有startAt和endAt函數,但它們不按預期工作並區分大小寫。你們如何解決這個問題? 2016年該功能如何仍然不存在?如何在Firebase數據庫中對字符串進行簡單搜索?
回答
高級搜索在我來說,我能夠以下列方式部分地實現了SQL LIKE:
databaseReference.orderByChild('_searchLastName')
.startAt(queryText)
.endAt(queryText+"\uf8ff")
.once("value")
在查詢中使用的字符\uf8ff
是Unicode範圍中的非常高的代碼點(它是私有使用區域[PUA]代碼)。因爲它在Unicode中大多數常規字符之後,查詢匹配以queryText
開頭的所有值。
以這種方式,通過「Fre」搜索,我可以從數據庫中獲得具有「Fred,Freddy,Frey」的記錄作爲_searchLastName
屬性中的值。
火力地堡不具有像內置的搜索有很大的SQL。您可以排序值/鍵也可以equalto
https://firebase.google.com/docs/database/android/retrieve-data
您可以在上面的鏈接的例子。這是Firebase的最新文檔。
如果您正在尋找像搜索一樣的SQL。然後看看彈性搜索。但是這會增加複雜性,因爲你需要一個平臺來加以實施。對此,我可以推薦的Heroku或可能GoogleCloudServers
這裏是一個博客帖子大約有彈性搜索 https://firebase.googleblog.com/2014/01/queries-part-2-advanced-searches-with.html
這很傷心,但彈性看起來像唯一的答案。謝謝。無論如何,我使用服務器進行訂閱驗證。 –
我不知道這種方法的肯定,但使用的火力版本10.2.6 Android上,我可以做這樣的事情:
firebaseDatabase.getReference("parent")
.orderByChild("childNode")
.startAt("[a-zA-Z0-9]*")
.endAt(searchString)
它似乎運作良好,有時
- 1. 如何在Firebase數據庫中對字段進行通配符字符串搜索?
- 2. 如何在Firebase數據庫中搜索?
- 3. 在數據庫中搜索字符串
- 4. 在MySQL數據庫中簡單搜索
- 5. 如何在js firebase中進行搜索?
- 6. 在數據庫中搜索字符串中的單詞
- 7. 在Firebase數據庫中進行Android搜索
- 8. 如何在數據庫中搜索文本字符串?
- 9. 如何在SQLite數據庫中搜索字符串
- 10. 如何在特定的字符串中搜索MySQL數據庫
- 11. 如何在整個MySQL數據庫中搜索字符串?
- 12. 根據Python中的搜索詞對字符串進行分區?
- 13. 搜索字符串數據庫
- 14. 如何搜索字符串在MySQL數據庫在PHP
- 15. 使用swift簡單搜索Firebase數據庫3
- 16. 在數據列中對非NAs進行計數的簡單方法字符串
- 17. 在firebase數據庫中搜索android?
- 18. 如何在PL/pgSQL中進行簡單的數組搜索
- 19. 在python中搜索簡併字符串
- 20. 如何搜索SQL Server數據庫中的字符串
- 21. 在sqlite數據庫中搜索字符串的任何組合
- 22. 如何對簡單字符串進行編碼/解碼
- 23. 如何從10Million +數據量的行中搜索字符串
- 24. 簡單的方法來搜索字符串的字符串
- 25. 在Java中對字符串進行簡單加密
- 26. 如何在LIKE中的C#sql數據庫中進行搜索
- 27. 如何使用搜索字符串搜索數據表中的行?
- 28. 如何搜索字符串中的單詞,該單詞是以不同組合的數組進行搜索的?
- 29. 簡單搜索沒有數據庫
- 30. 在MySQL數據庫中搜索輸入字符串中的值
可以這樣做嗎?我沒有看到它記錄,但它適用於我... – brux
我也在整個文檔中尋找這個主題,但沒有發現任何關於它。隨着一些進一步的研究,我發現這是實現LIKE功能而不必使用彈性搜索的「最細微」解決方案。當然,如果您需要更進一步的高級搜索功能,您的主要機會是通過建立彈性搜索解決方案。然而在我的情況下,這個解決方案完美地解決了我的需求。 – Francesco
這太棒了!給我留下了很大的頭痛! – MJQZ1347