콘텐츠로 이동

우리말샘 음소 검색 API

우리말샘 음소 검색 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 서버로 사용하기 참고.

자주 묻는 질문

Q. 음소(자소) 검색이 일반 사전 검색과 무엇이 다른가요?

A. 일반 검색은 완성형 글자("신")로만 찾습니다. 음소 검색은 초성·중성·종성 각각에 조건을 걸 수 있어, "받침이 ㅎ인 동사"나 "중성이 ㅚ인 한 글자 어간"처럼 글자 하나로 표현할 수 없는 조건으로 우리말을 찾습니다.

Q. 어떤 사전을 검색하나요?

A. 국립국어원 우리말샘(약 113만 항목)입니다. 방언·북한어·비표준 표기도 실려 있어서, 기본값은 전부 보여 주고 std_only 를 켜면 표준어만 남습니다.

Q. 검색이 느린 것 같은데 정상인가요?

A. 색인 없이 사전 전체를 훑는 방식이라 한 번에 수백 밀리초쯤 걸립니다. 대량 자동 호출보다는 연구·조회 용도에 맞는 기능이며, 넓은 패턴은 count_only 로 규모를 먼저 확인하세요.

Q. 초성 검색 게임처럼 "ㄱㅅ" 으로도 찾을 수 있나요?

A. 네. {ㄱ}{ㅅ} 처럼 음절마다 초성 조건을 걸면 됩니다. 예를 들어 {ㄱ}{ㅅ} 전체 일치는 초성이 ㄱ·ㅅ 인 두 글자 말(가수, 강산 등)을 찾습니다.

도움이 되었나요?