# 検索とフィルタリング

目的の商品をすばやく見つけることは、効率的なPOS運用に不可欠です。WCPOSは強力な検索・フィルタリング機能を備えており、大量の在庫がある場合でも商品を即座に見つけることができます。

![商品の検索・フィルタリング画面](/img/product-search-and-filtering.png)

WCPOSの商品検索・フィルタリング画面

## 商品検索[​](#product-search "商品検索への直接リンク")

### 統合検索フィールド[​](#unified-search-field "統合検索フィールドへの直接リンク")

WCPOSには、複数の商品属性を同時に検索できる統合検索フィールドがあります：

* **商品名** - 商品のタイトルと説明文を検索します
* **SKU** - 商品のpostmeta `_sku` フィールドと照合します
* **バーコード** - 設定されたバーコードフィールドを検索します。任意のpostmetaフィールドを指定できます。レガシー設定では `_sku` が使用されていますが、将来的には `_global_unique_id` に変更される予定です。

「商品を検索」フィールドに検索語を入力するだけで、POSがこれらすべてのフィールドを対象に即座に結果を絞り込みます。

### トークン化検索テクノロジー[​](#tokenized-search-technology "トークン化検索テクノロジーへの直接リンク")

検索機能は、高度なトークン化機能を備えた [FlexSearch ライブラリ](https://github.com/nextapps-de/flexsearch)を使用しています。

* **前方一致トークン化** - 単語の先頭から部分一致します（例：「blue」で検索すると「blueberry」がヒットします）
* **パフォーマンス最適化** - 高速な検索結果を実現するパフォーマンスプリセットを使用
* **言語対応** - 店舗に設定された言語に適応
* **遅延初期化** - 検索インデックスを必要時にのみ読み込み、メモリ使用量を最適化

検索は単語の先頭に一致します

前方一致（プレフィックス）ベースのため、検索は単語やトークンの**先頭**に一致し、途中には一致しません。「berry」で検索しても「blueberry」はヒットせず、ハイフンは新しいトークンの区切りとなります（「ABC-XYZ」は「ABC」や「XYZ」で検索できますが、「BCX」ではヒットしません）。スペースで単語を区切らない言語（中国語、日本語など）では、トークン化が正確に機能しないため、**バーコードまたは SKU** で検索してください。

### 検索の仕組み[​](#how-search-works "検索の仕組みへの直接リンク")

検索フィールドに入力すると、POSは次の処理を行います。

1. 入力を検索可能な語句に**トークン化**します
2. 即時の結果を得るため、まず**ローカルに保存された商品データを検索**します
3. ローカルで一致する結果が見つからない場合は**サーバーに問い合わせ**、新しい商品をダウンロードして今後の検索に備えて保存します
4. 入力に応じて**結果をリアルタイムで更新**します

この仕組みにより、ローカルの商品データベースを段階的に構築しながら、高速な検索パフォーマンスを実現します。

## 商品フィルタリング[​](#product-filtering "商品フィルタリングへの直接リンク")

### フィルターバー[​](#filter-bar "フィルターバーへの直接リンク")

検索フィールドの下には、特定の条件で商品を絞り込むためのインタラクティブなフィルタートグルとドロップダウンメニューがあります。

### 利用可能なフィルター[​](#available-filters "利用可能なフィルターへの直接リンク")

#### 在庫状況[​](#stock-status "在庫状況への直接リンク")

在庫状況に基づいて商品をフィルタリングします：

* **在庫あり** - 在庫のある商品
* **在庫切れ** - 在庫数がゼロの商品
* **入荷待ち** - 取り寄せ注文が可能な商品

#### 注目商品[​](#featured-products "注目商品への直接リンク")

WooCommerceストアで「注目」に設定されている商品のみを表示します。

#### セール中の商品[​](#on-sale-products "セール中の商品への直接リンク")

現在セール中または割引が適用されている商品のみを表示します。

#### カテゴリー[​](#category "カテゴリーへの直接リンク")

カテゴリードロップダウンを使用して、割り当てられた商品カテゴリーで絞り込みます。特定の部門や商品ラインの商品をすばやく見つけるのに役立ちます。

#### タグ[​](#tag "タグへの直接リンク")

WooCommerceストアで定義した商品タグでフィルタリングし、特定の属性や特徴を持つ商品を見つけます。

### フィルターの使い方[​](#using-filters "フィルターの使い方への直接リンク")

* **フィルターの切り替え** - フィルターボタンをクリックして有効にします（有効なフィルターはハイライト表示されます）
* **複数フィルター** - 複数のフィルターを組み合わせて検索結果をさらに絞り込むことができます
* **フィルター解除** - 有効なフィルターを再度クリックすると解除されます
* **検索 + フィルター** - 検索フィールドとフィルターを併用して、商品を正確に見つけることができます

## バーコード設定[​](#barcode-configuration "バーコード設定への直接リンク")

### 検索フィールド[​](#search-fields "検索フィールドへの直接リンク")

検索機能には、設定済みのバーコードフィールドが自動的に含まれます。検索に使用されるバーコードフィールドは、POS の設定内容に応じて異なります。

## よくある質問[​](#faq "よくある質問への直接リンク")

バーコード用の \_global\_unique\_id フィールドとは何ですか？

`_global_unique_id` フィールドは、店舗間でのバーコード標準化を向上させるために WooCommerce が最近追加した新しいバーコードフィールドです。

**主なポイント：**

* **最新の標準規格**: このフィールドはグローバルなバーコード識別のために設計されたものです
* **POS 設定**: POS の設定でバーコードフィールドとして `_global_unique_id` を使用するよう構成できます
* **レガシーと新方式の違い**: レガシーのバーコード設定では `_sku` フィールドを使用しますが、将来のバージョンでは `_global_unique_id` に変更される予定です
* **柔軟性**: サードパーティのバーコードプラグインを使用している場合、任意の商品メタフィールドをバーコードフィールドとして設定できます
* **商品ごとに1フィールド**: POSは設定された1つのバーコードフィールドのみを検索し、WooCommerceは商品（またはバリエーション）ごとに1つのバーコード値を保存します。1つの商品に複数のコードが必要な場合は、カスタムフィールドに保存し、バーコード設定でそのフィールドを指定してください
* **将来のデフォルト**: 今後のPOSアップデートで `_global_unique_id` がデフォルトのバーコードフィールドになります

POSがバーコードに使用するフィールドを設定するには、WordPress管理画面のPOS設定にアクセスしてください。

検索しても一部の商品が表示されないのはなぜですか？

WCPOSはパフォーマンスを維持するために段階的な商品ダウンロードを使用しています。商品が表示されない場合：

1. **検索してみてください** - POSがサーバー上でその商品を検索します
2. **ダウンロードを待ちます** - POSがその商品と他の商品を小さなバッチでダウンロードします
3. **再度検索します** - ダウンロードが完了すると、以降の検索で商品が表示されるようになります

この仕組みにより、数千点の商品があってもPOSは高速かつ快適に動作します。詳細については[商品の同期](/ja/products/sync.md)ガイドをご覧ください。

商品名やSKUの一部で検索できますか？

はい！トークン化検索は前方一致を使用しており、次のように動作します：

* 「blue」と検索すると、「blueberry」や「blue shirt」などの商品が見つかります。
* 「ABC」と検索すると、「ABC123」や「ABC-XYZ」などのSKUが見つかります。
* 単語やコードをすべて入力する必要はありません

この検索は、最小限の入力で素早く商品を見つけられるように設計されています。
