如何执行纯 aql 查询?

How to execute pure aql query?

我正在为 golang 使用 Official Aerospike Package

有什么办法可以得到所有现有索引的列表吗?

aql> show indexes

此外,我还没有找到任何执行纯 aql 查询的方法。

我该怎么做?

更新: 我正在寻找与此类似的东西,但用于 aerospike(来自 Rails 的示例) custom_query = "select * from users" result = ActiveRecord::Base.connection.execute(custom_query)

aql>显示索引 是一个有效的 aql 命令,应该会显示您当前在服务器上拥有的所有二级索引。

aql 运行s C api 下面。您可以在基本级别使用 aql 做几乎所有事情。 输入:aql>help 它将向您抛出所有 aql 命令,剪切并粘贴! aql 还将命令历史记录存储在文本文件中 - 因此在会话期间持续存在。 aql>运行 'filepath/filename' 是一种将所有 aql 命令存储在文本文件中并 运行 它们的简便方法。

回复:aql 查询——查看:select * 来自 ns。 where ... 如果您预先构建了二级索引,则可以执行相等性和范围查询。

Aerospike ver 3.12+ 引入了谓词过滤——即~复杂查询——我认为 aql 还没有更新到 运行。

HTH.

A​​QL 是一种管理和数据浏览工具。它并不是真正的 Aerospike SQL,因为 Aerospike 本身并不实现查询语言。相反,所有 Aerospike 客户端都给你一个 API 来进行直接获取、放置、扫描、查询调用,这些是程序性的,而不是像 SQL 那样的声明性的(你在其中声明你想要的结果和服务器计算出一个查询计划)。 Piyush 提到了谓词过滤 API,它非常棒,可以让您通过扫描和二级索引查询创建复杂的查询。

特别是关于获取所有索引的问题,这是您应该使用 info 命令的事情类型。 Aerospike 允许您通过它获取和设置配置参数,并获取范围广泛的指标、运行 微基准测试等。管理和监控所需的一切。

您可以运行 sindex through the standalone asinfo tool, or you can call it using the info command任何客户端提供的

asinfo -v "sindex"