如何在 Python 中的索引创建中使用 Couchbase 函数?



我正在尝试在日期字段上创建倒排索引。它可以在Couchbase管理控制台中工作,但是我在Python代码中遇到错误。我显然在 python 上做错了,但我找不到任何关于在 Python 中使用函数和索引创建的示例。 这是一个有效的 N1QL:

CREATE INDEX `mytabenter code herele_date` ON `mytable`(-TONUMBER(`date`));

这是一个破碎的Python代码:

cb = Bucket('couchbase://localhost/mytable', password='passw0rd')
cb.bucket_manager().create_n1ql_index('mytable_date_desc', fields=[-TONUMBER('date_desc')], defer=True, ignore_exists=True)

函数 -TONUMBER 生成错误"未解析的引用"/"名称错误:未定义名称'TONUMBER'"。

使用函数创建此类索引的正确方法是什么?

你需要转义TONUMBER因为它是一个 N1QL 定义的函数,而不是直接在 Python SDK 中;以下示例应该有效:

manager.create_n1ql_index( 'mytable_date_desc', fields=['(-TONUMBER(`date`))'], defer=True, ignore_exists=True)

.create_n1ql_index()

是为了方便起见,不一定是 API 完整的。 它允许您处理最简单的情况,但更复杂的情况最好通过查询 API 由字符串处理。

最新更新