AlgoliaSearch-Offline-Swift 5.1.7

AlgoliaSearch-Offline-Swift 5.1.7

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2018 年 5 月
SPM支持 SPM

Clément Le ProvostRobert Mogosvladislav 维护。



  • Algolia

Build Status Carthage compatible SwiftPM Compatible CocoaPods CocoaPods Swift 4.0 Objective-C compatible

Swift 和 Objective-C 的 Algolia Search API 客户端

Algolia Search 是一个托管的全文本、数值和分面搜索引擎,能够从第一次按键开始提供实时结果。使用 Algolia Search API 客户端,您可以轻松地从 Swift 代码中使用 Algolia Search REST API

话虽如此,这个库与 Objective-C 兼容性为 100%

作为本说明书的补充,您可以在 参考文档 中浏览自动生成的文档。(参见 also the 离线启用版本。)

API 文档

您可以在 Algolia 网站上找到完整的参考

目录

  1. 支持的平台

  2. 安装

  3. 快速入门

  4. 获取帮助

入门

支持的平台

我们的 Swift 客户端支持 iOSmacOStvOSwatchOS,并且可以从 SwiftObjective-C 两种语言中使用。

安装

  1. 将 AlgoliaSearch-Client-Swift 添加为依赖项
    • CocoaPods: 在您的 Podfile 中添加 pod 'AlgoliaSearch-Client-Swift', '~> 5.0'
    • Carthage: 在您的 Cartfile 中添加 github "algolia/algoliasearch-client-swift"
    • SwiftPM: 在 Package.swift 中将 .package(url:"https://github.com/algolia/algoliasearch-client-swift", from: "5.0.0") 添加到您的包依赖项数组,然后将 AlgoliaSearch 添加到您的目标依赖项。
  2. 在您的源文件中添加 import AlgoliaSearch

快速入门

在 30 秒内,这个快速入门教程将向您展示如何索引和搜索对象。

初始化客户端

您首先需要初始化客户端。为此,您需要您的 应用程序 IDAPI 密钥。您可以在您的 Algolia 账户 上找到它们。

let client = Client(appID: "YourApplicationID", apiKey: "YourAPIKey")

推送数据

不进行任何预先配置,您就可以使用以下代码在contacts索引中开始索引500个联系人,链接:[500个联系人](https://github.com/algolia/algoliasearch-client-csharp/blob/master/contacts.json)

// Load content file
let jsonURL = Bundle.main.url(forResource: "contacts", withExtension: "json")
let jsonData = try! Data(contentsOf: jsonURL!)
let dict = try! JSONSerialization.jsonObject(with: jsonData!)

// Load all objects in the JSON file into an index named "contacts".
let index = client.index(withName: "contacts")
index.addObjects(dict["objects"])

搜索

您现在可以通过姓名、姓氏、公司等信息(即使有拼写错误)来搜索联系人。

// search by firstname
index.search(Query(query: "jimmie"), completionHandler: { (content, error) -> Void in
	if error == nil {
		print("Result: \(content)")
	}
})
// search a firstname with typo
index.search(Query(query: "jimie"), completionHandler: { (content, error) -> Void in
	if error == nil {
		print("Result: \(content)")
	}
})
// search for a company
index.search(Query(query: "california paint"), completionHandler: { (content, error) -> Void in
	if error == nil {
		print("Result: \(content)")
	}
})
// search for a firstname & company
index.search(Query(query: "jimmie paint"), completionHandler: { (content, error) -> Void in
	if error == nil {
		print("Result: \(content)")
	}
})

配置

可以通过定制设置来调整搜索行为。例如,您可以在内置的相关性之外添加按关注者数量排序的自定义排序。

let customRanking = ["desc(followers)"]
let settings = ["customRanking": customRanking]
index.setSettings(settings, completionHandler: { (content, error) -> Void in
	if error != nil {
		print("Error when applying settings: \(error!)")
	}
})

您还可以按重要性(从最重要到最不重要)配置希望按顺序索引的属性列表。

注意:由于该引擎旨在在您输入的同时提供结果建议,您通常会按前缀进行搜索。在这种情况下,属性顺序对于决定哪个结果最好非常重要。

let customRanking = ["lastname", "firstname", "company", "email", "city", "address"]
let settings = ["searchableAttributes": customRanking]
index.setSettings(settings, completionHandler: { (content, error) -> Void in
	if error != nil {
		print("Error when applying settings: \(error!)")
	}
})

备注

之前的 Objective-C API 客户端

2015年7月,我们推出了Swift客户端的新版本,它能够与Swift和Objective-C一起工作。截至2016年4月版本3,Swift已成为Swift和Objective-C项目的参考实现。《Objective-C API客户端》不再处于积极开发状态。它仍然支持错误修复,但不会收到新功能。如果您曾经使用我们的Objective-C客户端,请阅读从Objective-C迁移到Swift API客户端的指南

迁移指南

如果您之前使用的是我们Swift客户端的2.x版本,请阅读版本3.x迁移指南

Swift 3

您可以通过以下方式之一使用此库与Swift配合:

  • pod 'AlgoliaSearch-Client-Swift', '~> 4.8.1'
  • pod 'AlgoliaSearch-Client-Swift', :git => 'https://github.com/algolia/algoliasearch-client-swift.git', :branch => 'swift-3'

获取帮助