Algent
Algent 是一个安全的 algolia 封装库。
您可以使用 Swift decodable 类型作为搜索结果使用 algolia。
示例
要运行示例项目,请先克隆仓库,然后在 Example 目录下首先运行 pod install
。打开 AppDelegate.swift
并设置您的 AlgoliaSearch AppID 和 APIKey。
Algent.initialize(appID: "YOUR_APP_ID", apiKey: "YOUR_API_KEY")
自定义搜索
添加实现 decodable 的搜索结果模型
class Diary: Decodable {
let title: String
let text: String
// Algolia hash tag info
_tags: [String]
}
添加实现 AlgoliaRequestProtocol
的搜索请求类
struct SearchDiaryRequest: AlgoliaRequestProtocol {
// set search result type
typealias HitType = Diary
let page: Int
let per: Int
let text: String?
let hashtags: [String]?
var indexName: String {
return "diaries"
}
var query: AlgentQuery {
let query = AlgentQuery(query: text)
query.page = UInt(page)
query.hitsPerPage = UInt(per)
if let hashtags = hashtags {
query.tagFilters = hashtags
}
return query
}
init(page: Int, per: Int, text: String? = nil, hashtags: [String]? = nil) {
self.page = page
self.per = per
self.text = text
self.hashtags = hashtags
}
}
使用您的请求调用 Algent 搜索方法。
let request = SarchDiaryRequest(page: 0, per: 20, text: "hello world", hashtags: ["trip"])
Algent.shared.search(request: request) { result in
switch result {
case .success(let response):
// response is AlgoliaResponse<Request.HitType>
print(response.hits) // see hit object
case .failure( let error):
print(error) // get error
}
}
要求
安装
Algent 可通过 CocoaPods 获得。要安装它,只需在 Podfile 中添加以下行:
pod 'Algent'
作者
miup, [email protected]
许可证
Algent 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。