标识符
标识符是用于命名数据库对象的 ID,例如索引名称、字段名称、别名等。 UDB-SX 支持两种类型的标识符:常规标识符和定界标识符。
常规标识符
常规标识符是一个以 ASCII 字母(大写或小写)开头的字符串。 下一个字符可以是字母、数字或下划线(_)。它不能是保留关键字。 也不允许空格和其他特殊字符。
UDB-SX 支持以下常规标识符:
以点号
.为前缀的标识符。用于隐藏索引。例如udbsx-dashboards。以
@符号为前缀的标识符。用于 Logstash 摄入生成的元字段。中间包含连字符
-的标识符。用于包含日期信息的索引名称。包含星号
*的标识符。用于索引模式通配符匹配。
对于常规标识符,您可以直接使用名称而无需任何反引号或转义字符。
在此示例中,source、fields、account_number、firstname 和 lastname 都是标识符。其中,source 字段是保留标识符。
SELECT account_number, firstname, lastname FROM accounts;
| account_number | firstname | lastname |
|---|---|---|
| 1 | Amber | Duke |
| 6 | Hattie | Bond |
| 13 | Nanette | Bates |
| 18 | Dale | Adams |
定界标识符
定界标识符可以包含常规标识符不允许的特殊字符。 必须用反引号 (``) 将定界标识符括起来。反引号将标识符与特殊字符区分开来。
如果索引名称包含点号 (.),例如 log-2021.01.11,请使用带有反引号的定界标识符进行转义 `log-2021.01.11`。
使用定界标识符的典型示例:
包含保留关键字的标识符。
包含
.的标识符。类似地,包含-以包含日期信息。包含其他特殊字符的标识符。例如,Unicode 字符。
使用反引号引用索引名称:
source=`accounts` | fields `account_number`;
| account_number |
|---|
| 1 |
| 6 |
| 13 |
| 18 |
大小写敏感性
标识符区分大小写。它们必须与 UDB-SX 中存储的内容完全相同。
例如,如果您运行 source=Accounts,将会收到索引未找到异常,因为实际的索引名称是小写的。