---
url: https://docs.ogmabox.com/ja/app/search.md
description: HTTPQL と内容フィルターで、Ogma プロジェクトの通信と指摘事項を検索します。
---

# 検索 {#search}

検索は、現在のプロジェクトでキャプチャーした HTTP 通信を検索します。HTTP 履歴で現在読み込まれている行以外の記録も対象です。

## 検索を開く {#opening-search}

左側のナビゲーションで**検索**をクリックします。構造化された条件や HTTPQL 式を入力し、**検索**をクリックするか Enter を押します。入力するだけでは条件が変わるだけで、新しい検索は実行されません。ほかの結果を確認するにはページを切り替えます。

## HTTPQL の構文 {#httpql-syntax}

HTTPQL は HTTP 通信向けの構造化クエリ言語です。型付きの演算子で、リクエストとレスポンスのフィールドを照合します。

### フィールド {#fields}

| フィールド | 照合対象 |
|-------|---------|
| `req.host` | リクエストのホスト名。 |
| `req.path` | リクエストのパス。 |
| `req.method` | HTTP メソッド（GET、POST など）。 |
| `req.body` | リクエストボディの内容。 |
| `resp.code` | レスポンスのステータスコード（整数）。 |
| `resp.len` | レスポンスボディの長さ。単位はバイト（整数）です。 |
| `resp.body` | レスポンスボディの内容。 |
| `resp.header["Name"].value` | 指定したレスポンスヘッダーの値。 |
| `req.header["Name"].value` | 指定したリクエストヘッダーの値。 |
| `req.has_finding` | リクエストに少なくとも一つの指摘事項が添付されている場合に true。 |
| `req.tag` | リクエストに付けられたタグの文字列。 |

### 演算子 {#operators}

| 演算子 | 対応する型 | 意味 |
|----------|-----------|---------|
| `eq` | 文字列、整数 | 完全一致。 |
| `ne` | 文字列、整数 | 等しくない。 |
| `cont` | 文字列 | 部分文字列を含む。 |
| `ncont` | 文字列 | 部分文字列を含まない。 |
| `regex` | 文字列 | 正規表現に一致する。 |
| `gt` | 整数 | より大きい。 |
| `gte` | 整数 | 以上。 |
| `lt` | 整数 | より小さい。 |
| `lte` | 整数 | 以下。 |
| `exists` | ヘッダー | ヘッダーが存在する。 |

### 式の組み合わせ {#combining-expressions}

`AND` と `OR` で条件を組み合わせます。括弧で優先順位を制御できます。`ne` や `ncont` などの否定演算子を使って、一致する項目を除外します。

```text
(req.method.eq:POST OR req.method.eq:PUT) AND resp.code.gte:500
```

## クエリの例 {#example-queries}

500 番台のエラーを返した POST リクエストを検索します。

```text
req.method.eq:POST AND resp.code.gte:500
```

Authorization ヘッダーを持つリクエストを検索します。

```text
req.header["Authorization"].value.exists
```

特定のホストからの大きなレスポンスを検索します。

```text
req.host.eq:api.example.com AND resp.len.gt:100000
```

追加確認用のタグを付けたリクエストを検索します。

```text
req.tag.eq:followup
```

指摘事項が添付されたすべてのリクエストを検索します。

```text
req.has_finding.eq:true
```

レスポンスボディが既知のエラー文字列を含むリクエストを検索します。

```text
resp.body.cont:"stack trace"
```

## 保存済みの検索 {#saved-searches}

HTTPQL 入力欄の横の**ピン留め**で、よく使うクエリを保存して素早く再利用できます。ピン留めしたクエリを選択すると適用されます。不要になったら、そのチップを削除してください。クエリ履歴からも最近の式を再利用できます。

検索タブでは、現在の利用中に独立したクエリを比較できます。永続的に保存される検索ではありません。エクスポートやインポートができる名前付きの構造化プリセットには、[フィルターページ](./filters.md)を使用してください。

## 結果の確認 {#inspecting-results}

結果テーブルの行をクリックすると、インスペクターパネルでリクエストとレスポンスを開けます。インスペクターは HTTP 履歴と同じビューです。未加工と整形のビューを切り替え、ヘッダーやボディをコピーし、このパネルから直接指摘事項を追加できます。

## AI アシスト {#ai-assist}

AI プロバイダーが設定されている場合、クエリ入力欄の横の **AI** をクリックし、検索したい内容を自然言語で説明します。Ogma が HTTPQL 式を生成します。実行前にクエリを確認してください。

* 「サーバーエラーを返した POST リクエスト」 > `req.method.eq:POST AND resp.code.gte:500`
* 「API サブドメインからの 50 KB より大きなレスポンス」 > `req.host.cont:api AND resp.len.gt:51200`
* 「指摘事項が添付されたリクエスト」 > `req.has_finding.eq:true`

## 関連ページ {#related-pages}

* [HTTPQL と StreamQL](../reference/httpql.md)
* [HTTP 履歴](./http-history.md)
* [フィルター](./filters.md)
