对新手问题表示抱歉。 我正在尝试使用示例代码(从官方gitHub cloudant存储库中获取)查询Cloudant数据库:
let randomItem = Int(arc4random() % UInt32(animalNames.count))
let randomFileName = animalImages[randomItem]
let randomImage = UIImage(named: randomFileName)
Image.image = randomImage
我需要搜索数据库中的所有文档,并且为了提高查询性能,我创建了搜索索引(特别是字段“名称”)。但是,如何在代码中定义要使用索引的索引,以及有没有索引?
答案 0 :(得分:0)
支持_find
方法的.find()
API端点将自动使用索引,如果可以的话 。有时,它不能-通常是因为实际查询实际上与索引不匹配。值得回顾Cloudant Query的文档以更好地了解此机制。
可以通过参数use_index
指定要使用的查询的实际索引-但我尚未检查是否在node.js客户端中实现了该索引,但在大多数情况下,不应没必要。
还有一个称为_explain的有用的API端点,它将向您显示找到的索引,或者查询是否回退到完整的数据库扫描(您要避免!)。
请注意,当您使用_find
(.find()
)时,实际上使用的是Cloudant Query,而不是Cloudant Search。区别很重要,因为Cloudant搜索是一种不同的查询机制。