AlgoliaSearch-Client-Swift 5.1.7

AlgoliaSearch-Client-Swift 5.1.7

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

Xavier GrandClément Le ProvostJulien lemoineRobert Mogosvladislav 维护。



  • Algolia

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

为 Swift 和 Objective-C 的 Algolia 搜索 API 客户端

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

虽然如此,但此库与 Objective-C 完全兼容。

除了本说明之外,您还可以浏览自动生成的参考文档。(也可查看支持离线的版本。)

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个联系人

// 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一起工作。自版本3(2016年4月)起,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'

获取帮助