우리말샘 음소 검색 API
우리말샘 음소 검색은 우리말샘 사전을 초성·중성·종성(자소) 단위 조건으로 뒤지는 기능입니다. "받침이 ㅎ인 동사", "중성이 ㅚ이고 받침 없는 한 글자 어간", "-아지로 끝나는 말"처럼 완성형 글자 하나로는 표현할 수 없는 조건을 걸어 표제어를 찾습니다.
맞춤법 검사기 포함 서버에서 제공됩니다
우리말샘 사전은 맞춤법 검사기(교정 기능)가 포함된 서버에만 실립니다. 클라우드(api.bareun.ai)에서는 바로 쓰실 수 있고, 자체 설치본은 교정 포함 배포판이어야 합니다.
무엇을 찾을 수 있나요
| 찾고 싶은 것 | 패턴 | 위치 | 결과 예 |
|---|---|---|---|
| '-아지'로 끝나는 말 | 아지 | 끝부분 일치 | 송아지, 망아지, 강아지 |
| '-둥이'로 끝나는 말 | 둥이 | 끝부분 일치 | 막둥이, 쌍둥이, 귀염둥이 |
| 초성 ㅅ·받침 ㄴ 어간 + 다 | {ㅅ//ㄴ}다 | 전체 일치 | 신다 |
| 중성 ㅚ·받침 없는 어간 + 다 | {/ㅚ/-}다 | 전체 일치 | 괴다, 되다, 쇠다, 외다, 쬐다 |
| ㅎ 받침 어간 용언 | *{//ㅎ}다 | 전체 일치 | 낳다, 넣다, 놓다, 내놓다 |
| ㄷ 받침 어간 용언(ㄷ 불규칙 후보) | *{//ㄷ}다 | 전체 일치 | 걷다, 듣다, 묻다, 싣다 |
패턴 쓰는 법
패턴은 음절 단위 토큰을 이어 씁니다.
| 토큰 | 뜻 |
|---|---|
다 같은 글자 | 그 글자 그대로 |
{초성/중성/종성} | 한 음절의 자소 조건. 자리는 / 로 구분합니다 |
* | 아무 음절 0개 이상 |
? | 아무 음절 정확히 1개 |
{초성/중성/종성} 의 각 자리에는 이렇게 씁니다.
| 표기 | 뜻 |
|---|---|
비움 또는 . | 아무거나 |
ㅅ | 그 자소 |
ㄹㄱ | 겹받침·이중모음·된소리를 두 자모로 이어 쓴 것(ㄹㄱ→ㄺ, ㅗㅏ→ㅘ, ㄱㄱ→ㄲ). ㄺ 처럼 한 글자로 넣어도 됩니다 |
ㄱ|ㅋ | 여럿 중 하나 |
[ㄱㄴㄷ] | 여럿 중 하나(묶음 표기). [^ㄱㄴ] 처럼 제외도, [ㄱ-ㄷ] 처럼 범위도 됩니다 |
- | (종성 자리) 받침 없음 |
+ | (종성 자리) 받침이 있기만 하면 됨 |
자리를 뒤에서부터 생략할 수 있습니다. {ㅅ/ㅏ} 는 "초성 ㅅ, 중성 ㅏ, 받침은 아무거나",
{ㅅ} 은 "초성만 ㅅ" 입니다.
자소 정규식을 직접 만들지 마세요
키보드로 치는 ㅅ 과 분해된 글자 안의 초성·종성 ㅅ 은 서로 다른 문자라, 사람이 직접
정규식을 만들면 오류 없이 조용히 0건이 나옵니다. 패턴만 쓰면 변환은 서버가 알아서 합니다.
응답의 regex 필드로 서버가 실제 사용한 정규식을 확인할 수 있습니다.
겹받침 ㄺ·이중모음 ㅘ 처럼 키보드로 한 글자로 칠 수 없는 자모는 ㄹㄱ·ㅗㅏ 로
이어 쓰면 됩니다 — 예: 겹받침 ㄺ 로 끝나는 말은 *{//ㄹㄱ} (닭·흙).
호출 방법
bareun.DictSearchService/SearchDict 를 호출합니다. REST(HTTP+JSON)로는 이렇게 씁니다.
curl -s -X POST https://api.bareun.ai/bareun.DictSearchService/SearchDict \
-H "api-key: <API-KEY>" \
-H "Content-Type: application/json" \
-d '{
"pattern": "아지",
"anchor": "DICT_SEARCH_ANCHOR_SUFFIX",
"pos": ["명사"],
"std_only": true,
"with_definition": true,
"limit": 20
}'
{
"entries": [
{
"word": "강아지",
"pos": "명사",
"senseCount": 5,
"senses": [
{ "senseNo": 1, "definition": "개의 새끼.", "targetCode": 3402 }
]
}
],
"totalMatched": 25,
"totalSenses": 60,
"regex": "아지$ (서버가 실제 사용한 자소 단위 정규식)",
"elapsedMs": "346",
"scanned": 1136046
}
요청 항목
| 항목 | 뜻 | 기본값 |
|---|---|---|
pattern | 자소 패턴(필수) | — |
anchor | 패턴 위치 — DICT_SEARCH_ANCHOR_WORD(전체)·_PREFIX(앞)·_SUFFIX(뒤)·_CONTAINS(포함) | 전체 일치 |
pos | 품사 필터. 동사·명사 같은 사전 표기 또는 용언·체언 같은 묶음 이름. 여러 개면 하나만 맞아도 통과 | 전체 |
std_only | true 면 비표준어·방언·북한어 제외 | false |
with_definition | true 면 뜻풀이·용례 포함 | false |
limit / offset | 최대 표제어 수(기본 100, 최대 1000) / 건너뛸 개수 | 100 / 0 |
count_only | true 면 항목 없이 개수만 | false |
품사 묶음 이름: 용언(동사·형용사·보조 용언), 동사류, 형용사류,
체언(명사·대명사·수사), 부사류, 수식언, 관계언.
응답 항목
| 항목 | 뜻 |
|---|---|
entries | 걸린 표제어 목록. 표제어·품사가 같으면 뜻풀이를 하나로 묶습니다 |
entries[].word / pos / conju | 표제어·품사·활용형 |
entries[].senses | 뜻풀이 목록(with_definition=true 일 때) — 어깨번호·뜻풀이·분류·우리말샘 번호·용례 |
entries[].isDialect / isNorthKorean / isNonStd / stdWord | 방언·북한어·비표준 표기 여부와 표준어 |
totalMatched / totalSenses | 걸린 표제어 수 / 뜻풀이 수(limit 과 무관한 전체 수) |
regex | 서버가 실제 사용한 정규식(패턴이 어떻게 해석됐는지 확인용) |
scanned / elapsedMs | 훑은 사전 항목 수 / 걸린 시간(밀리초) |
넓은 패턴은 개수부터 확인하세요
이 검색은 색인 없이 우리말샘 전체(약 113만 항목)를 훑습니다. 한 번에 수백 밀리초쯤
걸리므로, 얼마나 걸릴지 모르는 넓은 패턴은 count_only 로 규모를 먼저 확인하는 것이
좋습니다.
웹에서 써 보기
패턴을 코드 없이 시험해 보려면 bareun.ai 우리말샘 음소 검색 페이지를 쓰세요. 예시 패턴을 누르면 바로 채워지고, 품사·표준어 필터와 뜻풀이 표시를 켜고 끌 수 있습니다. 자체 설치한 서버의 내장 웹 화면에도 같은 탭이 있습니다(교정 포함 배포판).
AI 에이전트에서는 바른 MCP 서버의 search_dict 도구로 같은 검색을 쓸 수 있습니다 —
MCP 서버로 사용하기 참고. 이 검색을 무엇에 쓰는지(국어 연구·작명·낱말 게임·
언어 데이터, 그리고 AI 에이전트가 이 도구로 새로 할 수 있게 되는 일)는
음소 검색 활용하기에 사례별로 정리했습니다.
자주 묻는 질문
Q. 음소(자소) 검색이 일반 사전 검색과 무엇이 다른가요?
A. 일반 검색은 완성형 글자("신")로만 찾습니다. 음소 검색은 초성·중성·종성 각각에 조건을 걸 수 있어, "받침이 ㅎ인 동사"나 "중성이 ㅚ인 한 글자 어간"처럼 글자 하나로 표현할 수 없는 조건으로 우리말을 찾습니다.
Q. 어떤 사전을 검색하나요?
A. 국립국어원 우리말샘(약 113만 항목)입니다. 방언·북한어·비표준 표기도 실려 있어서,
기본값은 전부 보여 주고 std_only 를 켜면 표준어만 남습니다.
Q. 검색이 느린 것 같은데 정상인가요?
A. 색인 없이 사전 전체를 훑는 방식이라 한 번에 수백 밀리초쯤 걸립니다. 대량 자동 호출보다는
연구·조회 용도에 맞는 기능이며, 넓은 패턴은 count_only 로 규모를 먼저 확인하세요.
Q. 초성 검색 게임처럼 "ㄱㅅ" 으로도 찾을 수 있나요?
A. 네. {ㄱ}{ㅅ} 처럼 음절마다 초성 조건을 걸면 됩니다. 예를 들어 {ㄱ}{ㅅ} 전체 일치는
초성이 ㄱ·ㅅ 인 두 글자 말(가수, 강산 등)을 찾습니다.