Swift全文搜索推荐的解决方案

时间:2018-04-05 07:56:21

标签: ios swift full-text-search google-cloud-firestore

我想知道Swift中是否有推荐的解决方案/库用于集成全文搜索(即在您键入时自动完成时过滤所显示数据的搜索栏)?

我目前正在使用Firestore作为我的后端。

我瞥过的是Algolia

2 个答案:

答案 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来实现您需要的搜索栏/自动完成功能。