> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flashcat.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# 数据查询语法指南

> 掌握 Flashduty RUM 查看器的搜索语法，通过灵活的查询条件快速定位和分析用户数据。

Flashduty RUM 查看器提供了强大的检索能力，允许您通过灵活的查询语法快速定位和分析 RUM 数据。查询由**词项**（terms）和**操作符**（operators）组成，支持复杂的搜索条件组合。

## 查询基础

查询支持两种类型的词项：

| 类型      | 说明         | 示例                  |
| ------- | ---------- | ------------------- |
| **单词项** | 单个词汇       | `test`、`hello`      |
| **短语**  | 用双引号包围的词汇组 | `"hello flashduty"` |

### 布尔操作符

| 操作符   | 描述                              | 示例                   |
| ----- | ------------------------------- | -------------------- |
| `AND` | 交集：两个词项都必须在选定的视图中（默认操作符）        | `error AND timeout`  |
| `OR`  | 并集：任一词项包含在选定的视图中，需要使用 `()` 包裹起来 | `(error OR warning)` |
| `-`   | 排除：后面的词项不在视图中                   | `error -timeout`     |

## 全文检索

<Warning>
  全文检索仅部分字段支持，如未查询到结果，请转为字段查询。
</Warning>

| 查询语句            | 描述                       |
| --------------- | ------------------------ |
| `hello`         | 精确匹配 `hello` 的字段         |
| `hello*`        | 匹配以 `hello` 开头的字段        |
| `*hello`        | 匹配以 `hello` 结尾的字段        |
| `*hello*`       | 匹配含有 `hello` 的字段         |
| `"hello world"` | 精确匹配 `"hello world"` 的字段 |

## 转义特殊字符

检索包含特殊字符的字段值时，需要使用反斜杠 `\` 转义或者双引号。

<Note>
  以下字符被视为特殊字符：`:`, `"`, `*`, `-`, `>`, `<`, `,`, `(`, `)`, `[`, `]`, `\` 和空格
</Note>

## 属性检索

使用 `attribute:term` 语法检索特定属性：

| 查询语句                      | 描述                      |
| ------------------------- | ----------------------- |
| `browser_name:Chrome`     | 检索值为 `Chrome` 的浏览器      |
| `view_name:*/detail`      | 检索以 `/detail` 结尾的视图名称   |
| `-resource_status_code:0` | 检索状态码不为 `0` 的资源         |
| `os_name:"Mac OS X"`      | 检索值为 `"Mac OS X"` 的系统名称 |

## 数值检索

对于数值类型的属性，可以使用比较操作符：

| 查询语句                          | 描述                       |
| ----------------------------- | ------------------------ |
| `session_error_count:>5`      | 检索错误数大于 `5` 的会话          |
| `view_time_spent:>=1.00min`   | 检索停留时间大于 `1min` 的视图      |
| `session_view_count:[2 TO 8]` | 检索视图访问量在 `2` 和 `8` 之间的会话 |

## 复杂检索示例

<Tabs>
  <Tab title="错误分析">
    检索钱包页面中发生的 Warning 类型的错误：

    ```
    error_message:Warning\:* view_url_path:/wallet/*
    ```
  </Tab>

  <Tab title="性能分析">
    检索加载时间超过 5 秒，且以 `/incident/detail/` 开头的视图：

    ```
    view_loading_time:>=5s view_url_path:/incident/detail/*
    ```
  </Tab>

  <Tab title="错误请求">
    检索请求类型为 `fetch` 或者 `xhr`，且状态码不为 `200` 的资源：

    ```
    -resource_status_code:200 resource_type:(fetch OR xhr)
    ```
  </Tab>

  <Tab title="页面行为">
    检索 URL 为 `/incident`，且操作数大于 `2` 或者错误数大于 `3` 的视图：

    ```
    view_url_path:/incident (view_action_count:>=2 OR view_error_count:>=3)
    ```
  </Tab>
</Tabs>

## 高级检索技巧

<AccordionGroup>
  <Accordion title="时间范围检索">
    结合时间范围进行精确检索：

    ```
    view_loading_time:>2s client_time:>1758253826081
    ```
  </Accordion>

  <Accordion title="用户行为检索">
    检索结账页面的用户点击行为：

    ```
    action_type:click view_url_path:/checkout/*
    ```
  </Accordion>

  <Accordion title="设备类型检索">
    检索移动设备上加载时间超过 3 秒的视图：

    ```
    device_type:mobile view_loading_time:>3s
    ```
  </Accordion>

  <Accordion title="地理位置检索">
    检索中国地区发生错误的会话：

    ```
    geo_country:China session_error_count:>0
    ```
  </Accordion>
</AccordionGroup>

## 最佳实践

<CardGroup cols={2}>
  <Card title="使用引号包围短语" icon="quote-left">
    确保多词短语的精确匹配
  </Card>

  <Card title="合理使用通配符" icon="asterisk">
    避免过于宽泛的检索条件
  </Card>

  <Card title="组合多个条件" icon="layer-group">
    通过 AND/OR 操作符构建精确查询
  </Card>

  <Card title="利用自动补全" icon="keyboard">
    减少输入错误，提高检索准确性
  </Card>
</CardGroup>

<Tip>
  保存常用检索条件，提高重复查询的效率。
</Tip>

## 下一步

<CardGroup cols={2}>
  <Card title="RUM 查看器概览" icon="compass" href="./overview">
    了解查看器核心功能
  </Card>

  <Card title="分布式追踪" icon="diagram-project" href="../best-practices/distributed-tracing">
    了解分布式追踪最佳实践
  </Card>
</CardGroup>
