fromis_9/backend/sql/suggestions.sql
caadiq c201de203e feat: 추천 검색어 시스템 구현 (kiwi-nlp 형태소 분석)
- kiwi-nlp 기반 한국어 형태소 분석기 추가
- 추천 검색어 API 구현 (/api/schedules/suggestions)
  - Prefix 매칭, Bi-gram 다음 단어 예측
  - 초성 검색 지원, 영문→한글 자동 변환 (Inko)
- 사용자 사전 추가 (멤버/그룹명, 프로그램명 등)
- DB 테이블: suggestion_queries, suggestion_word_pairs, suggestion_chosung

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 13:01:29 +09:00

34 lines
1.3 KiB
SQL

-- 추천 검색어 테이블
-- 검색어 테이블 (Unigram)
CREATE TABLE IF NOT EXISTS suggestion_queries (
id INT AUTO_INCREMENT PRIMARY KEY,
query VARCHAR(255) NOT NULL UNIQUE,
count INT DEFAULT 1,
last_searched_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
INDEX idx_query_prefix (query(50)),
INDEX idx_count (count DESC),
INDEX idx_last_searched (last_searched_at DESC)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 단어 쌍 테이블 (Bi-gram)
CREATE TABLE IF NOT EXISTS suggestion_word_pairs (
word1 VARCHAR(100) NOT NULL,
word2 VARCHAR(100) NOT NULL,
count INT DEFAULT 1,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (word1, word2),
INDEX idx_word1_count (word1, count DESC)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 초성 인덱스 테이블
CREATE TABLE IF NOT EXISTS suggestion_chosung (
chosung VARCHAR(50) NOT NULL,
word VARCHAR(100) NOT NULL,
count INT DEFAULT 1,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (chosung, word),
INDEX idx_chosung (chosung),
INDEX idx_count (count DESC)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;