我想知道Swift
中是否有推荐的解决方案/库用于集成全文搜索(即在您键入时自动完成时过滤所显示数据的搜索栏)?
我目前正在使用Firestore
作为我的后端。
我瞥过的是Algolia
?
答案 0 :(得分:0)
您可以使用NSPredicate
搜索对象内的文字,例如
let searchString = "test"
var arr:NSArray =
[["value" : "its a test text to find"],
["value" : "another text"],
["value" : "find this text"],
["value" : "lorem ipsum is a placeholder text commonly"],
["value" : "lorem ipsum is a"]]
var pre:NSPredicate = NSPredicate(format: "value CONTAINS[c] %@", searchString)
var result:NSArray = arr.filtered(using: pre) as NSArray
print(result)
它将返回一个数组,其结果基于您搜索的文本
答案 1 :(得分:0)
Algolia可能是目前最好的解决方案,也是Firebase自己推荐的解决方案。需要注意的一件事是,您需要支付Firebase计划才能实施,因为您需要一个将数据发送到Algolia进行索引的云功能。
一旦您的数据在Algolia中,您就可以使用一个很棒的Swift library来实现您需要的搜索栏/自动完成功能。