Merge branch 'khj' into main
All checks were successful
LOCALNET-DEV/pipeline/head This commit looks good

This commit is contained in:
khj0414 2025-04-08 10:52:04 +09:00
commit 0018734679
2 changed files with 89 additions and 70 deletions

View File

@ -93,6 +93,8 @@ public class worddictyService {
} }
} }
} }
return filtered; return filtered;
} }

View File

@ -12,49 +12,49 @@
<!-- 색인표 조건 --> <!-- 색인표 조건 -->
<if test="indexKeyword != null and indexKeyword != ''"> <if test="indexKeyword != null and indexKeyword != ''">
<choose> <choose>
<!-- 한글 ㄱ ~ ㅎ에 대한 검색 --> <!-- 한글 ㄱ ~ ㅎ에 대한 검색 (자음만 있는 경우도 포함) -->
<when test='indexKeyword == "ㄱ"'> <when test='indexKeyword == "ㄱ"'>
and w.WRDDICTTL BETWEEN '가' AND '깋' AND (w.WRDDICTTL BETWEEN '가' AND '깋' OR w.WRDDICTTL LIKE 'ㄱ%')
</when> </when>
<when test='indexKeyword == "ㄴ"'> <when test='indexKeyword == "ㄴ"'>
and w.WRDDICTTL BETWEEN '나' AND '닣' AND (w.WRDDICTTL BETWEEN '나' AND '닣' OR w.WRDDICTTL LIKE 'ㄴ%')
</when> </when>
<when test='indexKeyword == "ㄷ"'> <when test='indexKeyword == "ㄷ"'>
and w.WRDDICTTL BETWEEN '다' AND '딷' AND (w.WRDDICTTL BETWEEN '다' AND '딷' OR w.WRDDICTTL LIKE 'ㄷ%')
</when> </when>
<when test='indexKeyword == "ㄹ"'> <when test='indexKeyword == "ㄹ"'>
and w.WRDDICTTL BETWEEN '라' AND '릿' AND (w.WRDDICTTL BETWEEN '라' AND '릿' OR w.WRDDICTTL LIKE 'ㄹ%')
</when> </when>
<when test='indexKeyword == "ㅁ"'> <when test='indexKeyword == "ㅁ"'>
and w.WRDDICTTL BETWEEN '마' AND '밓' AND (w.WRDDICTTL BETWEEN '마' AND '밓' OR w.WRDDICTTL LIKE 'ㅁ%')
</when> </when>
<when test='indexKeyword == "ㅂ"'> <when test='indexKeyword == "ㅂ"'>
and w.WRDDICTTL BETWEEN '바' AND '빟' AND (w.WRDDICTTL BETWEEN '바' AND '빟' OR w.WRDDICTTL LIKE 'ㅂ%')
</when> </when>
<when test='indexKeyword == "ㅅ"'> <when test='indexKeyword == "ㅅ"'>
and w.WRDDICTTL BETWEEN '사' AND '싷' AND (w.WRDDICTTL BETWEEN '사' AND '싷' OR w.WRDDICTTL LIKE 'ㅅ%')
</when> </when>
<when test='indexKeyword == "ㅇ"'> <when test='indexKeyword == "ㅇ"'>
and w.WRDDICTTL BETWEEN '아' AND '잏' AND (w.WRDDICTTL BETWEEN '아' AND '잏' OR w.WRDDICTTL LIKE 'ㅇ%')
</when> </when>
<when test='indexKeyword == "ㅈ"'> <when test='indexKeyword == "ㅈ"'>
and w.WRDDICTTL BETWEEN '자' AND '짛' AND (w.WRDDICTTL BETWEEN '자' AND '짛' OR w.WRDDICTTL LIKE 'ㅈ%')
</when> </when>
<when test='indexKeyword == "ㅊ"'> <when test='indexKeyword == "ㅊ"'>
and w.WRDDICTTL BETWEEN '차' AND '칳' AND (w.WRDDICTTL BETWEEN '차' AND '칳' OR w.WRDDICTTL LIKE 'ㅊ%')
</when> </when>
<when test='indexKeyword == "ㅋ"'> <when test='indexKeyword == "ㅋ"'>
and w.WRDDICTTL BETWEEN '카' AND '킿' AND (w.WRDDICTTL BETWEEN '카' AND '킿' OR w.WRDDICTTL LIKE 'ㅋ%')
</when> </when>
<when test='indexKeyword == "ㅌ"'> <when test='indexKeyword == "ㅌ"'>
and w.WRDDICTTL BETWEEN '타' AND '틷' AND (w.WRDDICTTL BETWEEN '타' AND '틷' OR w.WRDDICTTL LIKE 'ㅌ%')
</when> </when>
<when test='indexKeyword == "ㅍ"'> <when test='indexKeyword == "ㅍ"'>
and w.WRDDICTTL BETWEEN '파' AND '핗' AND (w.WRDDICTTL BETWEEN '파' AND '핗' OR w.WRDDICTTL LIKE 'ㅍ%')
</when> </when>
<when test='indexKeyword == "ㅎ"'> <when test='indexKeyword == "ㅎ"'>
and w.WRDDICTTL BETWEEN '하' AND '힣' AND (w.WRDDICTTL BETWEEN '하' AND '힣' OR w.WRDDICTTL LIKE 'ㅎ%')
</when> </when>
<!-- 알파벳 a ~ z에 대한 검색 --> <!-- 알파벳 a ~ z에 대한 검색 -->
<when test='indexKeyword == "a"'> <when test='indexKeyword == "a"'>
and w.WRDDICTTL like "a%" and w.WRDDICTTL like "a%"
@ -134,6 +134,9 @@
<when test='indexKeyword == "z"'> <when test='indexKeyword == "z"'>
and w.WRDDICTTL like "z%" and w.WRDDICTTL like "z%"
</when> </when>
<otherwise>
and w.WRDDICTTL like CONCAT('%', #{indexKeyword}, '%')
</otherwise>
</choose> </choose>
</if> </if>
<!-- 카테고리 조건 --> <!-- 카테고리 조건 -->
@ -301,33 +304,47 @@
CHARACTER_, CHARACTER_,
COUNT(*) AS COUNT COUNT(*) AS COUNT
FROM ( FROM (
SELECT 'ㄱ' AS CHARACTER_, WRDDICTTL FROM worddicty WHERE WRDDICTTL BETWEEN '가' AND '깋' SELECT 'ㄱ' AS CHARACTER_, WRDDICTTL FROM worddicty
UNION ALL WHERE WRDDICTTL BETWEEN '가' AND '깋' OR WRDDICTTL LIKE 'ㄱ%'
SELECT 'ㄴ' AS CHARACTER_, WRDDICTTL FROM worddicty WHERE WRDDICTTL BETWEEN '나' AND '닣' UNION ALL
UNION ALL SELECT 'ㄴ' AS CHARACTER_, WRDDICTTL FROM worddicty
SELECT 'ㄷ' AS CHARACTER_, WRDDICTTL FROM worddicty WHERE WRDDICTTL BETWEEN '다' AND '딷' WHERE WRDDICTTL BETWEEN '나' AND '닣' OR WRDDICTTL LIKE 'ㄴ%'
UNION ALL UNION ALL
SELECT 'ㄹ' AS CHARACTER_, WRDDICTTL FROM worddicty WHERE WRDDICTTL BETWEEN '라' AND '릿' SELECT 'ㄷ' AS CHARACTER_, WRDDICTTL FROM worddicty
UNION ALL WHERE WRDDICTTL BETWEEN '다' AND '딷' OR WRDDICTTL LIKE 'ㄷ%'
SELECT 'ㅁ' AS CHARACTER_, WRDDICTTL FROM worddicty WHERE WRDDICTTL BETWEEN '마' AND '밓' UNION ALL
UNION ALL SELECT 'ㄹ' AS CHARACTER_, WRDDICTTL FROM worddicty
SELECT 'ㅂ' AS CHARACTER_, WRDDICTTL FROM worddicty WHERE WRDDICTTL BETWEEN '바' AND '빟' WHERE WRDDICTTL BETWEEN '라' AND '릿' OR WRDDICTTL LIKE 'ㄹ%'
UNION ALL UNION ALL
SELECT 'ㅅ' AS CHARACTER_, WRDDICTTL FROM worddicty WHERE WRDDICTTL BETWEEN '사' AND '싷' SELECT 'ㅁ' AS CHARACTER_, WRDDICTTL FROM worddicty
UNION ALL WHERE WRDDICTTL BETWEEN '마' AND '밓' OR WRDDICTTL LIKE 'ㅁ%'
SELECT 'ㅇ' AS CHARACTER_, WRDDICTTL FROM worddicty WHERE WRDDICTTL BETWEEN '아' AND '잏' UNION ALL
UNION ALL SELECT 'ㅂ' AS CHARACTER_, WRDDICTTL FROM worddicty
SELECT 'ㅈ' AS CHARACTER_, WRDDICTTL FROM worddicty WHERE WRDDICTTL BETWEEN '자' AND '짛' WHERE WRDDICTTL BETWEEN '바' AND '빟' OR WRDDICTTL LIKE 'ㅂ%'
UNION ALL UNION ALL
SELECT 'ㅊ' AS CHARACTER_, WRDDICTTL FROM worddicty WHERE WRDDICTTL BETWEEN '차' AND '칳' SELECT 'ㅅ' AS CHARACTER_, WRDDICTTL FROM worddicty
UNION ALL WHERE WRDDICTTL BETWEEN '사' AND '싷' OR WRDDICTTL LIKE 'ㅅ%'
SELECT 'ㅋ' AS CHARACTER_, WRDDICTTL FROM worddicty WHERE WRDDICTTL BETWEEN '카' AND '킿' UNION ALL
UNION ALL SELECT 'ㅇ' AS CHARACTER_, WRDDICTTL FROM worddicty
SELECT 'ㅌ' AS CHARACTER_, WRDDICTTL FROM worddicty WHERE WRDDICTTL BETWEEN '타' AND '틷' WHERE WRDDICTTL BETWEEN '아' AND '잏' OR WRDDICTTL LIKE 'ㅇ%'
UNION ALL UNION ALL
SELECT 'ㅍ' AS CHARACTER_, WRDDICTTL FROM worddicty WHERE WRDDICTTL BETWEEN '파' AND '핗' SELECT 'ㅈ' AS CHARACTER_, WRDDICTTL FROM worddicty
UNION ALL WHERE WRDDICTTL BETWEEN '자' AND '짛' OR WRDDICTTL LIKE 'ㅈ%'
SELECT 'ㅎ' AS CHARACTER_, WRDDICTTL FROM worddicty WHERE WRDDICTTL BETWEEN '하' AND '힣' UNION ALL
SELECT 'ㅊ' AS CHARACTER_, WRDDICTTL FROM worddicty
WHERE WRDDICTTL BETWEEN '차' AND '칳' OR WRDDICTTL LIKE 'ㅊ%'
UNION ALL
SELECT 'ㅋ' AS CHARACTER_, WRDDICTTL FROM worddicty
WHERE WRDDICTTL BETWEEN '카' AND '킿' OR WRDDICTTL LIKE 'ㅋ%'
UNION ALL
SELECT 'ㅌ' AS CHARACTER_, WRDDICTTL FROM worddicty
WHERE WRDDICTTL BETWEEN '타' AND '틷' OR WRDDICTTL LIKE 'ㅌ%'
UNION ALL
SELECT 'ㅍ' AS CHARACTER_, WRDDICTTL FROM worddicty
WHERE WRDDICTTL BETWEEN '파' AND '핗' OR WRDDICTTL LIKE 'ㅍ%'
UNION ALL
SELECT 'ㅎ' AS CHARACTER_, WRDDICTTL FROM worddicty
WHERE WRDDICTTL BETWEEN '하' AND '힣' OR WRDDICTTL LIKE 'ㅎ%'
UNION ALL UNION ALL
SELECT 'a' AS CHARACTER_, WRDDICTTL FROM worddicty WHERE WRDDICTTL LIKE 'a%' SELECT 'a' AS CHARACTER_, WRDDICTTL FROM worddicty WHERE WRDDICTTL LIKE 'a%'
UNION ALL UNION ALL