- 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>
34 lines
1.3 KiB
SQL
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;
|