# 24. Search, Triage, And Knowledge Retrieval

## 문서 목적

이 문서는 `KoTalk`의 검색을 단순 문자열 필터가 아니라 `작업 진입기`로 정의한다.  
특히 업무적 소통에서는 메신저의 만족도가 “얼마나 잘 말하느냐”보다 “얼마나 빨리 찾고 정리하느냐”에서 갈린다.

## 검색의 역할

검색은 하나의 기능이 아니라 아래 네 가지 역할을 동시에 가져야 한다.

- 방 찾기
- 메시지 찾기
- 사람 찾기
- 파일/링크 찾기

데스크톱에서는 여기에 `명령 실행`이 추가된다.

## 검색에 대한 기본 철학

- 검색은 막혔을 때 쓰는 기능이 아니라, 빨리 처리하려고 먼저 쓰는 기능이어야 한다.
- 검색창은 `찾기`와 `이동`과 `실행`을 함께 담당한다.
- 필터와 검색은 경쟁 관계가 아니다. 필터는 검색 전에 잡음을 줄이고, 검색은 남은 대상 안에서 목적지를 찾는다.

## 검색 표면 구조

### 데스크톱

- 기본 진입: `Ctrl+K`
- 오버레이 또는 커맨드 팔레트
- 결과 그룹:
  - 대화
  - 메시지
  - 사람
  - 파일
  - 링크
  - 명령

### 모바일 웹

- 상단 검색 필드
- 최근 검색과 최근 결과 제공
- 결과 그룹:
  - 대화
  - 메시지
  - 사람
  - 파일/링크

모바일에서는 명령군을 직접 노출하기보다, 결과에서 행동을 바로 제공하는 쪽이 적합하다.

## 검색 이전의 정리 레이어

검색이 강하려면 목록 정리도 강해야 한다.  
아래 필터는 검색보다 먼저 보이는 기본 정리 장치다.

- 전체
- 안읽음
- 고정
- 멘션
- 답장 필요
- 파일
- 링크
- 오늘 처리

현재 구현은 `전체 / 안읽음 / 고정` 수준에 머무르므로, 문서는 그 다음 레이어를 명확히 정의해야 한다.

## 결과 우선순위 규칙

검색 결과는 단순히 문자열 일치도만으로 정렬하지 않는다.

정렬 요소:

- 최근성
- 대화 우선도
- 안읽음 여부
- 멘션 포함 여부
- 고정 여부
- 사용자 행동 이력
- 정확한 제목 일치
- 부분 일치

### 업무형 결과 우선순위

- 안읽음 대화
- 멘션 포함 대화
- 파일/링크가 포함된 최근 대화
- 최근 대화

### 친근형 결과 우선순위

- 최근 대화
- 자주 대화하는 사람
- 최근 메시지 포함 대화

## 제로 쿼리 상태

검색은 텍스트를 입력하기 전에도 유용해야 한다.

제로 쿼리에서 보여 줄 것:

- 최근 연 대화
- 안읽음 대화
- 고정 대화
- 최근 검색
- 바로 실행 가능한 명령

## 검색 결과 형태

### 대화 결과

- 제목
- 최근 미리보기 한 줄
- 시간
- unread badge
- 고정/멘션 표시

### 메시지 결과

- 발신자
- 방 이름
- 해당 문맥 전후 일부
- 결과 클릭 시 메시지 위치로 이동

### 파일 결과

- 파일명
- 방 이름
- 업로드 날짜
- 발신자
- 바로 열기 또는 저장

### 링크 결과

- 제목
- 도메인
- 방 이름
- 공유 날짜

## `Ctrl+K` 커맨드 팔레트

데스크톱은 검색을 명령 시스템까지 확장한다.

필수 명령:

- 대화 열기
- 새 창에서 열기
- 안읽음 보기
- 고정 보기
- 읽음 처리
- 음소거
- 설정 열기
- 나에게 메시지 열기

## 검색 UX 규칙

- 결과는 탭을 바꿔 가며 보지 않아도 한 화면에서 그룹별로 스캔 가능해야 한다.
- 방향키와 Enter가 기본이다.
- 마우스 없이 결과 진입 가능해야 한다.
- 모바일에서는 결과가 키보드와 겹치지 않아야 한다.
- 검색 중 실시간 동기화 배너나 토스트가 방해하면 안 된다.

## 파일/링크 회수 UX

업무형 메신저는 메시지 회상보다 정보 회수가 더 중요할 때가 많다.

따라서 검색에는 아래가 필요하다.

- `파일만 보기`
- `링크만 보기`
- `이 방에서만 보기`
- `최근 7일`
- `내가 보낸 항목만`

## 검색 실패 UX

- 결과 없음은 끝이 아니다.
- 관련 필터 제안이 필요하다.
- 최근 대화 또는 유사 대화를 아래에 제공한다.

예:

- `안읽음에서 찾고 있나요?`
- `최근 파일에서 다시 찾아보세요`
- `이 사람과의 대화로 이동`

## 검색 지표

- 검색 사용률
- 검색 성공률
- 검색 후 첫 클릭까지 시간
- 검색 후 실제 문제 해결 완료율
- 파일/링크 재발견 성공률

## 스크린샷과 데모 기준

- 검색 스크린샷은 대화만 찾는 화면이 아니라, 사람/메시지/파일/링크가 함께 보이는 구조를 보여 줘야 한다.
- 데스크톱은 `Ctrl+K` 흐름, 모바일은 상단 검색 + 필터 흐름을 따로 캡처한다.

## 현재 산출물과의 차이

현재 구현은 로컬 대화 제목 필터 중심이다.  
문서가 정의하는 목표는 `검색 = 작업 진입기`이며, 이 차이를 분명히 추적해야 한다.

## 결론

`KoTalk`가 업무적으로 편하다고 느껴지려면 검색은 부가 기능이 될 수 없다.  
대화를 찾는 도구를 넘어, 사용자가 지금 해야 할 행동으로 바로 이동시키는 핵심 진입점이 되어야 한다.
