본문 바로가기
WIKI 기술 지식 베이스

CJK width token filter

원문 보기 위키 갱신

출처: 문서

본문

CJK width 토큰 필터

cjk_width 토큰 필터는 전각 ASCII 문자를 표준(반각) ASCII 문자로 변환하고 반각 가타카나 문자를 전각 문자로 변환하여 중국어, 일본어, 한국어(CJK) 토큰을 정규화해요.

전각 ASCII 문자 변환하기

CJK 텍스트에서는 ASCII 문자(예: 영문자와 숫자)가 전각 형태로 나타나 반각 문자 두 개만큼의 공간을 차지할 수 있어요. 전각 ASCII 문자는 CJK 문자의 폭에 맞춰 정렬하기 위해 동아시아 조판에서 주로 사용돼요. 하지만 색인과 검색을 위해서는 이러한 전각 문자를 표준(반각) ASCII 문자로 정규화해야 해요.

다음 예시는 ASCII 문자 정규화를 보여줘요:

        Full-Width:              ABCDE 12345
        Normalized (half-width): ABCDE 12345

반각 가타카나 문자 변환하기

cjk_width 토큰 필터는 반각 가타카나 문자를 일본어 텍스트에서 표준으로 사용되는 전각 문자로 변환해요. 다음 예시에서 보여주는 이 정규화는 텍스트 처리와 검색의 일관성을 위해 중요해요:

        Half-Width katakana:               カタカナ
        Normalized (full-width) katakana:  カタカナ

예시

다음 예시 요청은 cjk_width_example_index라는 새 인덱스를 생성하고 cjk_width 필터가 포함된 애널라이저를 정의해요:

PUT /cjk_width_example_index
{
  "settings": {
    "analysis": {
      "analyzer": {
        "cjk_width_analyzer": {
          "type": "custom",
          "tokenizer": "standard",
          "filter": ["cjk_width"]
        }
      }
    }
  }
}

{% include copy-curl.html %}

생성된 토큰

다음 요청을 사용해 애널라이저로 생성된 토큰을 확인해 보세요:

POST /cjk_width_example_index/_analyze
{
  "analyzer": "cjk_width_analyzer",
  "text": "Tokyo 2024 カタカナ"
}

{% include copy-curl.html %}

응답에는 생성된 토큰이 포함되어 있어요:

{
  "tokens": [
    {
      "token": "Tokyo",
      "start_offset": 0,
      "end_offset": 5,
      "type": "<ALPHANUM>",
      "position": 0
    },
    {
      "token": "2024",
      "start_offset": 6,
      "end_offset": 10,
      "type": "<NUM>",
      "position": 1
    },
    {
      "token": "カタカナ",
      "start_offset": 11,
      "end_offset": 15,
      "type": "<KATAKANA>",
      "position": 2
    }
  ]
}

더 알아보기 (Learn more)