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
}
]
}