> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/datasets/ja/guan-li/manage-datasets/dataset-search.md).

# データセットを検索

## 概要

データセット検索を使うと、ファイル名の照合、構造化されたフィルター（タグ、分割、クラス、寸法、アノテーション数）、ブール論理、自然言語による意味検索を使用して、プロジェクト全体から特定の画像を見つけることができます。データの監査、誤ラベルや不足しているアノテーションの検出、レビューやエクスポート用の対象サブセットの作成に活用できます。同じクエリを Web アプリと検索 REST API の両方で利用できます。

## Web アプリ

Roboflow では、ファイル名、検索クエリ、クエリとフィルターの組み合わせを使って画像ファイルを検索し、特定の画像を見つけたり、データをより深く理解したりできます。

* **特定のタグを持つ分割内の画像:**\
  `tag:factory split:train`\
  これはタグフィルターと分割フィルターを使用しています
* **意味検索とクラスフィルターを使って欠落ラベルを見つける**:\
  `person -class:helmet`\
  これは意味検索と、クラスフィルターに対する反転フィルターを使用しています
* **あるクラスのすべての画像に特定のフィルターが必要な場合:**\
  `class:helmet AND NOT (tag:v1 OR tag:v2)`\
  これはクラスフィルター、ブール論理、タグフィルターを使用しています
* **注釈数の少ない横長画像を見つける:**\
  `min-width:1000 max-annotations:1`\
  これは最小幅フィルターと最大アノテーション数フィルターを使用しています

の完全な一覧と [検索フィルター](#search-filters)、および以下の例を参照してください

{% hint style="info" %}
これらの検索フィルターとクエリはすべて組み合わせて使用できます
{% endhint %}

### 意味検索

画像の内容を説明して検索できます。これらのクエリは、検索語に最も近い画像を検索し、オブジェクトがまだラベル付けされていない場合でも画像を見つけるのに役立ちます。

意味検索は、フィルター選択子なしでテキストクエリを入力したときに行われます（例: `filename:`)

<figure><img src="/files/a09b0265f6fdb3013b3e1a510fb9c0e4316c9ca0" alt=""><figcaption></figcaption></figure>

### ファイル名で検索

Roboflow では、 `filename:` フィルターまたはファイル名テキストボックスを使ってファイル名を検索できます。テキストボックスを使うとクエリが自動生成されます。

<figure><img src="/files/0d93a4cf0d882e2e243a0df08325e29f82398d9d" alt="" width="192"><figcaption></figcaption></figure>

### データセット分割で検索

データセット分割（train、valid、test）ごとに画像を検索します

<figure><img src="/files/8a893fc8ea771a92a8f9cc69eec4b9c4accbb0c5" alt="" width="257"><figcaption></figcaption></figure>

画像を別の分割に再割り当てするには、画像を選択し（または検索結果から「一致するものをすべて選択」を選び）、一括操作メニューの「データセット分割を変更」をクリックします。大量の選択はバックグラウンドで処理されます。

### アップロード日で検索

Roboflow に最初にアップロードされた日付を使って、 `date:` フィルターで画像を絞り込みます。アップロード日は不変であり、画像を編集したり、再アノテーションしたり、分割間で移動しても変わりません。

使用します `date:YYYY-MM-DD` を使うと特定の日付を指定でき、比較演算子を組み合わせると範囲検索できます:

`date>=2026-01-01 date<2026-02-01`

### 検索フィルター

利用可能なフィルターは次のとおりです:

* `like-image:<IMAGE_ID>`: 画像内容に基づく意味検索
* `tag` : ユーザーが付与したタグで絞り込みます。
* `filename` : 指定されたファイル名に一致するファイル名を検索します。部分一致検索を行うには、クエリの先頭と末尾に \* を付けてください。
* `split` : 分割（train、test、valid）で絞り込みます。
* `job:<JOB_ID>` : 指定されたジョブ ID を持つ画像を表示します。
* `min-width:X` : 幅が X より大きい画像を表示します。
* `max-width:X` : 幅が X より小さい画像を表示します。
* `min-height:X` : 高さが X より大きい画像を表示します。
* `max-height:X` : 高さが X より小さい画像を表示します。
* `min-annotations:X` : 指定された数より多いアノテーションを持つ画像を絞り込みます。
* `max-annotations:X` : 指定された数より少ないアノテーションを持つ画像を表示します。
* `class:CLASS`: 指定されたラベルのアノテーションを少なくとも 1 件持つ画像を表示します。
* `date:YYYY-MM-DD` : 画像がアップロードされた不変の日付で絞り込みます。比較演算子に対応しています（例: `date>=2026-01-01 date<2026-02-01`).

#### ブール論理

AND、OR、NOT、およびかっこを使って複数のフィルターを組み合わせ、複雑なクエリを作成できます。

`class:helmet AND NOT (tag:v1 OR tag:v2)`

#### 反転フィルター

フィルターに一致する画像を除外するには、フィルターの前にマイナス記号を付けます。

`class:helmet -class:vest`

#### 数値クラスフィルター

画像内のラベル付きアイテム数で絞り込みます。

`class:helmet=3 class:vest>=4`

### API

Roboflow 上のデータセットや画像も、 [検索 API](#http-api).

## HTTP API

REST API を使って、Roboflow にホストされた画像を検索できます。エンドポイントは 2 つあります。プロジェクト単位の `/:workspace/:project/search` エンドポイントと、ワークスペース全体の `/:workspace/search/v1` エンドポイントです。これは [Web アプリのデータセット検索](#web-app).

### プロジェクト内の画像を検索

Roboflow にホストされた画像を検索するには、次の API エンドポイントへ POST リクエストを送信します:

```url
https://api.roboflow.com/:workspace/:project/search
```

API へのリクエスト例はこちらです:

```bash
curl -X POST "https://api.roboflow.com/my-workspace/my-project-name/search?api_key=$ROBOFLOW_API_KEY" \
-H 'Content-Type: application/json' \
--data \
'{
    "like_image": "image_id",
    "in_dataset": true,
    "limit": 125
}'
```

このエンドポイントは POST 本文で次の値を受け付けます:

```json
{
     // 指定すると、意味的類似度で並べ替えた結果を返します
     "like_image": string,
     
     // 指定すると、意味的類似度で並べ替えた結果を返します
     "prompt": string,
     
     // デフォルトは 0
     "offset": int,
     
     // デフォルトは 50（最大: 250）
     "limit": int,
     
     // 指定すると、指定したタグを持つ画像を絞り込みます
     "tag": string,
     
     // 指定すると、指定したクラス名を持つ画像を絞り込みます
     "class_name": string,
     
     // 指定すると、指定したプロジェクト内の画像を絞り込みます
     "in_dataset": string,
     
     // 指定すると、いずれかのバッチに含まれる画像のみを返します
     "batch": boolean,
     
     // 指定すると、指定したバッチに含まれる画像のみを返します
     "batch_id": string,

     // 指定すると、いずれかのアノテーションジョブに含まれる画像のみを返します
     "annotation_job": boolean,

     // 指定すると、指定したアノテーションジョブに含まれる画像のみを返します
     "annotation_job_id": string,
     
     // 返すフィールドを指定します。デフォルトは ["id", "created"] です
     // 可能な値は ["id", "name", "annotations", "labels", "split", "tags", "owner", "url", "embedding", "created"] です
     "fields": string[]
}
```

検索 API は、次の構造を持つレスポンスを返します。利用可能な値は、指定した追加の `fields` に応じて変わります:

```json
{
    "offset": 0,
    "total": 292,
    "results": [
        {
            "id": "image123",
            "name": "humpbackwhale.jpg",
            "owner": "owner123",
            "url": "https://source.roboflow.com/owner123/image123/original.jpg",
            "annotations": {
                "count": 5,
                "classes": {
                    "whale": 1,
                    "fish": 4
                }
            },
            "labels": [],
            "tags": [
                "cam_x13"
            ]
        }
        // ... など
    ]
}
```

### ワークスペース全体で画像を検索

Workspace Image Search API を使うと、ワークスペース内の画像を一覧表示および検索できます。

この API を使うと、以下に似たクエリ文字列を使用して、フィルタリング、並べ替え、意味検索を行えます。 [Roboflow Web アプリの画像検索機能](#web-app).

#### エンドポイント

API にリクエストするには、 `POST` リクエストを次のエンドポイントに送信します:

```
https://api.roboflow.com/{WORKSPACE}/search/v1?api_key=API_KEY
```

ここで `WORKSPACE` は Workspace ID、 `API_KEY` は API キーです。

[Workspace ID の見つけ方を学ぶ](https://docs.roboflow.com/reference/authentication/authentication/workspace-and-project-ids).

[API キーの見つけ方を学ぶ。](https://docs.roboflow.com/reference/platform/rest-api/authenticate-with-the-rest-api)

#### 認証

API にアクセスするには、リクエストに API キーを含める必要があります。API キーはクエリパラメータとして渡してください。

例: `?api_key={YOUR_API_KEY}`

#### リクエスト形式

**ヘッダー**

* `Content-Type: application/json`

**本文パラメータ**

* `query` **（必須）**: フィルタリング、並べ替え、または意味検索を行うための空でない文字列です。例: `"nighttime project:{my-project-url}"` は、 `my-project-url` プロジェクト内の画像を絞り込み、 `nighttime`に一致する画像に対して意味的並べ替えを適用します。欠損している場合、または空の場合は 400 エラーを返します。
* `pageSize`: 1 ページあたりに返す結果数（デフォルト: 50）。
* `fields`: レスポンスに含めるフィールドの一覧。指定可能な値は `"tags"`, `"width"`, `"height"`, `"filename"`, `"aspectRatio"`, `"split"`, `"projects"`, `"annotations"`, `"labels"`, `"owner"`, `"url"`.

**リクエスト例**

```bash
curl --location 'https://api.roboflow.com/{WORKSPACE}/search/v1?api_key={API_KEY}' \
--header 'Content-Type: application/json' \
--data '{
    "query": "project:foo nightime",
    "pageSize": 10,
    "fields": ["tags", "width", "height", "filename", "aspectRatio", "split"]
}'

```

#### レスポンス形式

レスポンスは、次のフィールドを含む JSON オブジェクトです:

* `results`: 画像オブジェクトの配列。
* `total`: 見つかった画像の合計数。
* `continuationToken`: ページネーション用のトークン。

**画像オブジェクトのフィールド**

で要求したフィールドに応じて、 `fields` パラメータ:

* `id`: 画像の一意の識別子。
* `projectData`: プロジェクト URL をキーとするオブジェクトで、プロジェクト固有のデータを含みます:
  * `split`: データセット分割を示します（例: "test"）。次の場合に返されます `"split"` が `fields`.
  * `inDataset`: 画像がデータセット内にあるかどうかを示すブール値。次の場合に返されます `"projects"` が `fields`.
  * `annotations`: このプロジェクトにおける画像のアノテーションデータ。以下を含みます `annotationGroup`, `classes`、および `classCounts`. 次の場合に返されます `"annotations"` が `fields`.
  * `labels`: このプロジェクトにおける画像のラベルデータ。次の場合に返されます `"labels"` が `fields`.
* `tags`: 画像に関連付けられたタグの配列。
* `width`: 画像のピクセル幅。
* `height`: 画像のピクセル高さ。
* `filename`: 画像ファイルの名前。
* `aspectRatio`: 画像のアスペクト比。
* `owner`: 画像の所有者 ID。
* `url`: 元の画像ファイルへの直接 URL。

**ページネーションと `continuationToken`**

レスポンスに返される `continuationToken` を使うと、検索結果に一致するページ間を移動できます。 `continuationToken` が次のリクエストに含まれると、次の結果セットを取得します。

使用するには `continuationToken`、次の API 呼び出しのリクエスト本文に含めます。これにより、元のクエリに基づく結果の次のページが取得されます。

**エラーレスポンス**

* `400` - 次の場合に返されます `query` が欠落しているか空である場合、または `project:` フィルターが、あなたのワークスペースに属さないプロジェクトを参照している場合。
* `500` - サーバー内部エラー。

**プロジェクトおよびデータセットのフィルター**

in-app のデータセット検索で利用できるすべてのフィルターに加えて、 [アプリ内のデータセット検索](#web-app)、ワークスペース全体検索では `project` と `dataset` のフィルターもサポートされています。たとえば、次のようなクエリを使えます。 `project:foo project:bar` 両方のプロジェクトに含まれるすべての画像を見つけるために `foo` と `bar`.\
\
次のようなクエリでは `dataset:foo`プロジェクト内の画像を返します `foo` ラベル付けされており、プロジェクト内のデータセットに追加されている画像です。

## Python SDK

`Project.search_all()` は、プロジェクト内の画像全体に対する検索結果のページ付きイテレータを返します。検索モードは組み合わせ可能です。たとえば、クラスで絞り込んだテキストプロンプト、単一バッチに絞り込んだ既存画像の類似検索などです。

```python
import roboflow

rf = roboflow.Roboflow(api_key="YOUR_API_KEY")
project = rf.workspace().project("my-detector")

records = []
for page in project.search_all(
    prompt="mug on a desk",
    class_name="mug",
    in_dataset="my-detector",
    limit=100,
    fields=["id", "created", "name", "labels"],
):
    records.extend(page)

print(len(records))
```

### パラメータ

* `prompt` (str, optional) - 自然言語の検索プロンプト（CLIP 埋め込みによる意味検索）。
* `like_image` (str, optional) - テキストではなく視覚的類似性で検索する画像 ID。
* `tag` (str, optional) - このタグを持つ画像のみ。
* `class_name` (str, optional) - このクラスのアノテーションを持つ画像のみ。
* `in_dataset` (str, optional) - 画像が属している必要があるデータセット名（そのデータセット内の画像に限定し、バッチ / アノテーションジョブのステージング領域は除外します）。
* `batch` (bool, optional) および `batch_id` (str, optional) - 特定のアップロードバッチに限定します。
* `annotation_job` (bool, kw-only) および `annotation_job_id` (str, kw-only) - 特定のアノテーションジョブに限定します。
* `offset` (int, default `0`) - ページネーションのオフセット。
* `limit` (int, default `100`) - ページサイズ。
* `fields` (list\[str], optional) - 応答サイズを小さくするため、各結果でリストされたフィールドのみを要求します。

`search_all()` はジェネレーターであり、各イテレーションで最大 `limit` 件の結果からなるページを返し、オフセットを自動的に進めます。1回限りの単一ページ呼び出しには、 `project.search(...)` を同じ引数で使用します。

### ワークスペース全体の検索

ワークスペース内のすべてのプロジェクトを検索するには、 `Workspace.search()` / `Workspace.search_all()`を使用します。プロジェクトごとのメソッドとは異なり、これらは単一のRoboQL `query` 文字列（たとえば `"class:forklift"`, `"tag:review"`、またはセマンティックCLIP検索用の自由テキスト）と、任意指定の `page_size` と `fields`を受け取ります。返される各ページは結果行のリストであり、各行には `projects` フィールドにソースプロジェクトが含まれます。

```python
records = []
for page in rf.workspace().search_all(query="class:forklift"):
    records.extend(page)
```

### 検索結果をダウンロード可能なデータセットとしてエクスポートする

`Workspace.search_export()` は検索を実行し、結果をダウンロード可能なデータセット（COCO / YOLO / VOC など）としてパッケージ化します。基盤となるエンドポイントについては、 [データのエクスポート（REST）](/datasets/ja/bjon/dataset-versions/exporting-data.md#http-api) を参照してください。

```python
path = rf.workspace().search_export(
    query="forklift",
    format="coco",
    location="./forklift-search",
)
print(path)
```

## CLI

ワークスペース全体の画像を [RoboQL](/datasets/ja/guan-li/manage-datasets/dataset-search.md) を使用して検索し、必要に応じて一致する結果をダウンロード可能なデータセットとしてエクスポートできます。

### 検索

```bash
roboflow search "<query>"
```

#### オプション

| フラグ        | 説明                  |
| ---------- | ------------------- |
| `--limit`  | 返す結果の最大数（デフォルト: 50） |
| `--cursor` | ページネーション用の継続トークン    |
| `--fields` | 含めるフィールドのカンマ区切りリスト  |

#### 例

特定のタグを持つ画像を検索する:

```bash
roboflow search "tag:reviewed"
```

特定のクラスを含む画像を検索する:

```bash
roboflow search "class:person" --limit 100
```

### 検索結果をエクスポートする

追加 `--export` を追加して、一致する画像をデータセットとしてダウンロードします:

```bash
roboflow search "<query>" --export -f <format> -l <location>
```

#### エクスポートオプション

| フラグ                        | 説明                     |
| -------------------------- | ---------------------- |
| `--export`                 | エクスポートモードを有効にする        |
| `-f`, `--format`           | アノテーション形式（デフォルト: coco） |
| `-l`, `--location`         | エクスポートを保存するローカルディレクトリ  |
| `-d`, `--dataset`          | 特定のプロジェクトに限定する         |
| `-g`, `--annotation-group` | 特定のアノテーショングループに限定する    |
| `--name`                   | エクスポートの任意の名前           |
| `--no-extract`             | zipファイルを保持し、展開をスキップする  |

#### 例

レビュー済みのすべての画像をCOCO形式でエクスポートする:

```bash
roboflow search "tag:reviewed" --export -f coco -l ./reviewed-export
```

特定のプロジェクトから画像をYOLOv8形式でエクスポートする:

```bash
roboflow search "class:car" --export -d my-project -f yolov8 -l ./cars
```

### JSON出力

```bash
roboflow search "tag:reviewed" --json
```

```json
{
  "results": [...],
  "total": 42,
  "cursor": "next-page-token"
}
```

次の `cursor` 値をページネーションに使用します:

```bash
roboflow search "tag:reviewed" --cursor "next-page-token" --json
```

## MCPサーバー

AIエージェントを [MCPサーバー](https://docs.roboflow.com/agents/mcp-server) に接続すると、これらのツールで画像を見つけられます:

<table data-search="false"><thead><tr><th width="290">ツール</th><th>説明</th></tr></thead><tbody><tr><td><code>images_search</code></td><td>プロジェクト内の画像を検索します。</td></tr><tr><td><code>images_workspace_search</code></td><td>RoboQLを使用してワークスペース全体の画像を検索します。</td></tr></tbody></table>
