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

# 검색 엔진

> 지식 기반, 용어집, DbSphere에서 사용하는 벡터 데이터베이스와 검색 설정을 구성합니다.

<Info>관리자 › 설정 › 검색 엔진</Info>

벡터 데이터베이스 유형과 검색 파라미터를 설정합니다.

* 이 설정은 [지식 기반](/ko/workspace/knowledge)(KbSphere)·용어집(Glossary)·DbSphere에서 공통으로 사용됩니다.

<Frame caption="검색 엔진 설정 탭">
  <img src="https://mintcdn.com/cloocus/Or1RjU_AzOVJRxuS/images/admin/settings-search-engine.png?fit=max&auto=format&n=Or1RjU_AzOVJRxuS&q=85&s=5624f21040b0a5ae99180eeda338c065" alt="검색 엔진 설정 탭" width="2880" height="1800" data-path="images/admin/settings-search-engine.png" />
</Frame>

***

## 검색 엔진 선택

| 엔진                          | 특징                                   |
| --------------------------- | ------------------------------------ |
| **Azure AI Search**         | Azure 관리형 서비스, 하이브리드 검색 기본 지원        |
| **PostgreSQL pgvector**     | PostgreSQL 확장, halfvec 지원으로 메모리 효율적  |
| **Milvus**                  | 대규모 분산 처리, 고성능 벡터 검색                 |
| **Elasticsearch**           | 하이브리드 검색(BM25 + 벡터), 기존 ELK 스택 활용 가능 |
| **Google Vertex AI Search** | Google Cloud 관리형 검색 서비스              |

<Tabs>
  <Tab title="Azure AI Search">
    | 설정 항목           | 설명                       |
    | --------------- | ------------------------ |
    | **Endpoint**    | Azure Search 서비스 URL     |
    | **API Key**     | Admin API Key            |
    | **API Version** | API 버전 (예: `2024-07-01`) |
  </Tab>

  <Tab title="pgvector">
    | 설정 항목        | 설명               |
    | ------------ | ---------------- |
    | **Host**     | PostgreSQL 서버 주소 |
    | **Port**     | 포트 번호            |
    | **Database** | 데이터베이스 이름        |
    | **User**     | 접속 사용자명          |
    | **Password** | 접속 비밀번호          |

    <Note>
      `pgvector` 확장이 PostgreSQL에 설치되어 있어야 합니다.
    </Note>
  </Tab>

  <Tab title="Milvus">
    | 설정 항목        | 설명           |
    | ------------ | ------------ |
    | **URI**      | Milvus 서버 주소 |
    | **Token**    | 인증 토큰 (선택)   |
    | **User**     | 인증 사용자명 (선택) |
    | **Password** | 인증 비밀번호 (선택) |
  </Tab>

  <Tab title="Elasticsearch">
    | 설정 항목            | 설명                   |
    | ---------------- | -------------------- |
    | **URL**          | Elasticsearch 서버 URL |
    | **Username**     | 인증 사용자명 (선택)         |
    | **Password**     | 인증 비밀번호 (선택)         |
    | **Index Prefix** | 인덱스 이름 접두사 (선택)      |
  </Tab>

  <Tab title="Vertex AI Search">
    | 설정 항목                           | 설명                                                                              |
    | ------------------------------- | ------------------------------------------------------------------------------- |
    | **Project ID**                  | Google Cloud 프로젝트 ID                                                            |
    | **Location**                    | 리전                                                                              |
    | **Collection**                  | 데이터 스토어 컬렉션                                                                     |
    | **Use Global Google Cloud Key** | 활성화 시 전역 Google Cloud 키를 사용합니다. 비활성화 시 아래 Service Account Key JSON을 직접 입력합니다.   |
    | **Service Account Key JSON**    | `Use Global Google Cloud Key` 비활성화 시 표시되는 JSON 입력 필드. 서비스 계정 키 JSON 전체를 붙여넣습니다. |
  </Tab>
</Tabs>

<Note>
  임베딩 엔진 및 모델은 **[설정 › 문서](/ko/admin/settings/documents)** 탭에서 설정합니다. 검색 엔진과 임베딩 설정의 벡터 차원이 일치해야 합니다.
</Note>

***

## 검색 설정

벡터 검색에서 가져올 결과 수를 설정합니다.

| 설정 항목     | 설명                       | 기본값  |
| --------- | ------------------------ | ---- |
| **Top K** | 벡터 데이터베이스에서 가져올 검색 결과 개수 | `10` |

**Top K를 조절하면:**

* **높이면** — 더 많은 문서를 후보로 가져와 정답을 놓칠 확률이 줄지만, 무관한 결과(노이즈)와 컨텍스트 토큰·비용이 늘고 응답이 느려집니다.
* **낮추면** — 정밀하고 빠르며 토큰을 아끼지만, 정답이 담긴 문서를 놓칠 수 있습니다.

***

## 리랭커

리랭커는 의미론적 모델로 검색 결과를 재정렬하여 정확도를 높입니다(선택).

* **리랭커 타입** 드롭다운에서 사용할 리랭커를 선택하고, 관련 파라미터를 설정합니다.

| 설정 항목         | 설명                                         | 기본값                       |
| ------------- | ------------------------------------------ | ------------------------- |
| **리랭커 타입**    | 사용할 리랭커 유형                                 | `Azure AI Search (기본 제공)` |
| **리랭커 Top K** | 리랭커 적용 후 반환할 결과 개수                         | `5`                       |
| **리랭커 임계값**   | 리랭커 적용 후 최소 관련성 점수 (0\~1). 임계값 미만의 결과는 필터링 | `0.0`                     |

**값 조절 가이드** — 리랭커 Top K는 Top K로 가져온 결과 중 상위 몇 개를 최종 사용할지이므로 항상 Top K 이하로 둡니다.

* **리랭커 Top K** — 높이면 LLM에 근거를 더 많이 전달해 누락이 줄지만 노이즈와 토큰이 늘고, 낮추면 가장 관련 높은 소수만 남겨 정밀하지만 놓칠 수 있습니다.
* **리랭커 임계값** — 높이면 관련성이 낮은 결과를 걸러 노이즈가 줄고, 너무 높이면 통과하는 결과가 없어 검색이 비어버립니다. `0`은 필터 없이 모두 통과합니다.

리랭커 타입을 **Vertex AI Ranking API**로 선택하면 아래 하위 필드가 표시됩니다.

| 설정 항목              | 설명                                                                       |
| ------------------ | ------------------------------------------------------------------------ |
| **Project ID**     | Google Cloud 프로젝트 ID (선택 — 미입력 시 Vertex AI Search의 Project ID 사용)        |
| **Location**       | Vertex AI Ranking API 리전                                                 |
| **Reranker Model** | 사용할 리랭킹 모델                                                               |
| **Authentication** | 인증 방식 (Use Global Google Cloud Key 토글 또는 Service Account Key JSON 직접 입력) |

<Warning>
  검색 엔진 유형을 변경하면 기존에 인덱싱된 데이터에 접근할 수 없게 됩니다. 변경 전 반드시 데이터 마이그레이션 계획을 수립하세요.
</Warning>
