Ios Firebase应用程序搜索功能-使用字符串正则表达式进行查询
我正在将一个应用程序从Parse移植到Firebase,我以前能够使用Ios Firebase应用程序搜索功能-使用字符串正则表达式进行查询,ios,swift,firebase,firebase-realtime-database,Ios,Swift,Firebase,Firebase Realtime Database,我正在将一个应用程序从Parse移植到Firebase,我以前能够使用matchesRegex进行查询,并将搜索放入“(?I)\(searchBar.text!)”。通过这样做,用户可以搜索“p”,数据库将返回(例如)“person”、“People”、“pot”等 我似乎找不到一种使用Firebase进行这样的查询的方法,Firebase允许用户搜索字符串的一部分,而Firebase则在数据库中查找子字符串 我正在使用: databaseReference.child("Schools").q
matchesRegex
进行查询,并将搜索放入“(?I)\(searchBar.text!)”
。通过这样做,用户可以搜索“p”,数据库将返回(例如)“person”、“People”、“pot”等
我似乎找不到一种使用Firebase进行这样的查询的方法,Firebase允许用户搜索字符串的一部分,而Firebase则在数据库中查找子字符串
我正在使用:
databaseReference.child("Schools").queryOrderedByKey().queryEqualToValue("(?i)\(searchBar.text!)").observeSingleEventOfType(.Value, withBlock: { (snapshot) in
for childSnapshot in snapshot.children {
print("SANP \(childSnapshot)")
}
}) { (error) in
print(error)
}
如果我这样做,就不会打印任何内容。我知道,如果我搜索一个特定的值,该值是字符对字符的,与数据库中的值相同,那么上面的代码就可以工作
如何使用Firebase数据库中的字符串部分进行搜索?Firebase查询中没有内置的正则表达式或类似“%…%”匹配的支持。看到了吗,所以基本上如果你的用户输入了一些随机字母,你想显示所有学校名称中都有这些字母的学校,对吧(类似谷歌搜索)?@Dravidian!就像谷歌搜索。或者,假设你在Facebook上搜索一个人,如果你输入a,它会显示所有有a或a的朋友。@DanLevy你所问的是一个推荐引擎。这有点像机器学习(人工智能:),如果你想寻找像谷歌这样的大型数据库,但对于小型数据库,我可以给你一个解决方案,但效率可能是一个问题。。。