# 검색 및 필터링

효율적인 판매 시점 작업을 위해서는 적합한 상품을 빠르게 찾는 것이 중요합니다. 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 "재고 상태으로 직접 링크")

재고 상태에 따라 제품을 필터링합니다:

* **재고 있음** - 판매 가능한 재고가 있는 제품
* **재고 없음** - 재고가 0인 상품
* **품절 후 주문 가능** - 품절 후 주문할 수 있는 상품

#### 추천 상품[​](#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` 를 사용하도록 POS를 구성할 수 있습니다
* **기존 방식과 새 방식**: 기존 바코드 설정은 `_sku` 필드를 사용하지만, 향후 버전에서는 `_global_unique_id` 로 변경됩니다
* **유연성**: 타사 바코드 플러그인을 사용하는 경우, 모든 상품 메타 필드를 바코드 필드로 구성할 수 있습니다
* **상품당 하나의 필드**: POS는 구성된 단일 바코드 필드를 검색하며, WooCommerce는 상품당(또는 변형당) 하나의 바코드 값을 저장합니다. 한 상품에 여러 코드를 사용해야 하는 경우 사용자 정의 필드에 저장하고 바코드 설정이 해당 필드를 가리키도록 지정하세요
* **향후 기본값**: 향후 POS 업데이트에서는 기본 바코드 필드가 `_global_unique_id` 로 설정됩니다

POS에서 바코드에 사용할 필드를 구성하려면 WordPress 관리자 영역의 POS 설정으로 이동하세요.

검색할 때 모든 상품이 보이지 않는 이유는 무엇인가요?

WCPOS는 성능을 유지하기 위해 상품을 단계적으로 다운로드합니다. 상품이 보이지 않는 경우:

1. **상품 검색 시도** - 이렇게 하면 POS가 서버에서 해당 상품을 찾습니다
2. **다운로드 대기** - POS가 해당 상품과 다른 상품을 작은 배치로 다운로드합니다
3. **다시 검색** - 다운로드가 완료되면 이후 검색에서 해당 상품이 표시됩니다

이 과정은 상품이 수천 개 있어도 POS가 빠르고 응답성을 유지하도록 합니다. 자세한 내용은 [상품 동기화](/ko/products/sync.md) 가이드를 참조하세요.

상품 이름이나 SKU의 일부만으로 검색할 수 있나요?

예. 토큰화된 검색은 전방 일치를 사용합니다. 즉:

* "blue"를 검색하면 "blueberry", "blue shirt" 등이 포함된 상품을 찾습니다.
* "ABC"를 검색하면 "ABC123", "ABC-XYZ" 같은 SKU를 찾습니다.
* 완전한 단어나 코드를 입력할 필요는 없습니다.

검색은 최소한의 입력으로 상품을 빠르게 찾도록 설계되었습니다.
