gpt4 book ai didi

swift - Algolia 在 swift 中按类别搜索

转载 作者:搜寻专家 更新时间:2023-11-01 05:49:37 25 4
gpt4 key购买 nike

我有一个像这样在 Algolia 中构建的“记录”索引

[{
“日期”:“2018-01-04T13:00:00.000Z”,
"title": "记录1",
“状态”:"new",
}, {
“日期”:“2018-01-04T14:00:00.000Z”,
"title": "记录2"
“状态”:“已接受”,
}]

使用 swift,我试图让对象具有"new"状态,但没有成功。根据文档,这应该是我所需要的。

let apiClient = Client(appID: "XXX", apiKey:"XXX")
let index = apiClient.index(withName: "records")
let query = Query()
query.filters = "status:new"
index.search(query) { (content, error) in
print("RESULTS", content, error?.localizedDescription)
}

我也试过

    query.filters = "status:\"new\""

我什至无法在 Algolia 的仪表板 GUI 中使用这样的查询。您是否需要在仪表板的某处“启用”这种查询?

如果我禁用过滤器,我会得到所有记录(如预期的那样),但过滤不会返回任何结果和错误。

如有任何帮助,我们将不胜感激。

最佳答案

首先,你的JSON有一些小问题(一些额外的,),看正确的形式:

[{
"date": "2018-01-04T13:00:00.000Z",
"title": "Record 1",
"status": "new"
},
{
"date": "2018-01-04T14:00:00.000Z",
"title": "Record 2",
"status": "accepted"
}]

如果正确导入了对象,您需要使用 attributesForFaceting 设置它们才能使用过滤器。这应该是一次性操作,您可以从后端或快速完成。

如果您想快速完成,这里有一个 link这说明了如何去做。

基本上,您只需要一次设置:

let customFilter = ["status"]
let settings = ["attributesForFaceting": customFilter]
index.setSettings(settings)

重新加载页面,现在您应该会在左侧看到一个带有标题 status 和可能值的菜单。

enter image description here

关于swift - Algolia 在 swift 中按类别搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48033675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com