PPL 语法
每个 PPL 查询都以 search 命令开始。它指定要搜索和检索文档的索引。
每个 PPL 查询中,PPL 仅支持一个 search 命令,并且它始终是第一个命令。search 这个词可以省略。
后续命令可以按任意顺序跟随。
语法
search source=<index> [boolean-expression]
source=<index> [boolean-expression]
参数
search 命令支持以下参数。
| 参数 | 必需/可选 | 描述 |
|---|---|---|
<index> |
可选 | 指定要查询的索引。 |
<boolean-expression> |
可选 | 指定一个求值为布尔值的表达式。 |
语法符号约定
PPL 命令语法使用以下符号约定。
占位符
占位符显示在尖括号 (< >) 中。这些必须替换为实际值。
示例:<field> 表示您必须指定实际的字段名称,如 age 或 firstname。
可选元素
可选元素用方括号 ([ ]) 括起来。这些可以从命令中省略。
示例:
[+|-]表示加号或减号是可选的。[<alias>]表示别名占位符是可选的。
必需选择项
备选方案之间的必需选择项显示在括号中,并用竖线分隔符分隔 ((option1 | option2))。您必须恰好选择指定的选项之一。
示例:(on | where) 表示您必须使用 on 或 where,但不能同时使用两者。
可选选择项
备选方案之间的可选选择项显示在方括号中,并用竖线分隔符分隔 ([option1 | option2])。您可以选择其中一个选项或完全省略。
示例:[asc | desc] 表示您可以指定 asc、desc,或者都不指定。
重复
省略号 (...) 表示前面的元素可以重复多次。
示例:
<field>...表示一个或多个字段,不带逗号:field1 field2 field3<field>, ...表示逗号分隔的重复:field1, field2, field3
示例
示例 1:搜索 accounts 索引
在以下查询中,search 命令引用 accounts 索引作为源,并使用 fields 和 where 命令设置条件:
search source=accounts
| where age > 18
| fields firstname, lastname
示例 2:获取所有文档
要获取 accounts 索引中的所有文档,请将其指定为 source:
search source=accounts;
| account_number | firstname | address | balance | gender | city | employer | state | age | lastname | |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Amber | 880 Holmes Lane | 39225 | M | Brogan | Pyrami | IL | 32 | amberduke@pyrami.com | Duke |
| 6 | Hattie | 671 Bristol Street | 5686 | M | Dante | Netagy | TN | 36 | hattiebond@netagy.com | Bond |
| 13 | Nanette | 789 Madison Street | 32838 | F | Nogal | Quility | VA | 28 | null | Bates |
| 18 | Dale | 467 Hutchinson Court | 4180 | M | Orick | null | MD | 33 | daleadams@boink.com | Adams |
示例 3:获取匹配条件的文档
要获取 accounts 索引中 account_number 等于 1 或 gender 为 F 的所有文档,请使用以下查询:
source=accounts
| where account_number=1 or gender="F"
| account_number | firstname | address | balance | gender | city | employer | state | age | lastname | |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Amber | 880 Holmes Lane | 39225 | M | Brogan | Pyrami | IL | 32 | amberduke@pyrami.com | Duke |
| 13 | Nanette | 789 Madison Street | 32838 | F | Nogal | Quility | VA | 28 | null | Bates |