标识符

标识符是用于命名数据库对象的 ID,例如索引名称、字段名称、别名等。 UDB-SX 支持两种类型的标识符:常规标识符和定界标识符。

常规标识符

常规标识符是一个以 ASCII 字母(大写或小写)开头的字符串。 下一个字符可以是字母、数字或下划线(_)。它不能是保留关键字。 也不允许空格和其他特殊字符。

UDB-SX 支持以下常规标识符:

  1. 以点号 . 为前缀的标识符。用于隐藏索引。例如 udbsx-dashboards

  2. @ 符号为前缀的标识符。用于 Logstash 摄入生成的元字段。

  3. 中间包含连字符 - 的标识符。用于包含日期信息的索引名称。

  4. 包含星号 * 的标识符。用于索引模式通配符匹配。

对于常规标识符,您可以直接使用名称而无需任何反引号或转义字符。 在此示例中,sourcefieldsaccount_numberfirstnamelastname 都是标识符。其中,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`。

使用定界标识符的典型示例:

  1. 包含保留关键字的标识符。

  2. 包含 . 的标识符。类似地,包含 - 以包含日期信息。

  3. 包含其他特殊字符的标识符。例如,Unicode 字符。

使用反引号引用索引名称:

source=`accounts` | fields `account_number`;
account_number
1
6
13
18

大小写敏感性

标识符区分大小写。它们必须与 UDB-SX 中存储的内容完全相同。

例如,如果您运行 source=Accounts,将会收到索引未找到异常,因为实际的索引名称是小写的。