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

Kuromoji number token filter

원문 보기 위키 갱신

출처: 문서

본문

Kuromoji number 토큰 필터

kuromoji_number 토큰 필터는 일본어 숫자 표현을 표준 아라비아 숫자로 정규화해요. 일본어 텍스트는 한자 숫자(一, 二, 三…), 전각 숫자(1, 2, 3…), 또는 이 둘을 섞은 형태로 숫자를 표현할 수 있어요. 이 필터는 이런 표현들을 모두 표준 정수 또는 소수 값으로 변환해요.

이 필터는 다음과 같은 변환을 수행해요:

  • 一万二千三百四十五는 12345로 변환돼요.
  • 3,〇00은 3000으로 변환돼요.
  • 千円은 1000으로 변환되고, 단위 円은 별도의 토큰으로 남아요.

이 필터는 일본어 표기로 작성된 가격, 개수, 기타 수량이 들어 있는 필드에서 패싯 검색, 범위 쿼리, 정렬을 수행할 때 유용해요.

설치

kuromoji_number 토큰 필터를 사용하려면 analysis-kuromoji 플러그인이 필요해요. 설치 방법은 Kuromoji analyzer 문서를 참고하세요.

파라미터

kuromoji_number 토큰 필터에는 설정 가능한 파라미터가 없어요.

예제

다음 예제는 kuromoji_number를 사용하는 커스텀 분석기로 인덱스를 생성해요:

PUT /kuromoji-number-index
{
  "settings": {
    "analysis": {
      "analyzer": {
        "number_analyzer": {
          "type": "custom",
          "tokenizer": "kuromoji_tokenizer",
          "filter": ["kuromoji_number"]
        }
      }
    }
  }
}

{% include copy-curl.html %}

한자 숫자 표현이 포함된 텍스트(“가격은 12,345엔”이라는 뜻)로 분석기를 테스트해 보세요:

POST /kuromoji-number-index/_analyze
{
  "analyzer": "number_analyzer",
  "text": "価格は一万二千三百四十五円です"
}

{% include copy-curl.html %}

응답을 보면 한자 숫자가 아라비아 숫자 정수로 변환된 것을 확인할 수 있어요. 12345 토큰이 오프셋 3–12에 걸쳐 있는데, 이는 원본 한자 숫자 一万二千三百四十五가 9글자이기 때문이에요:

{
  "tokens": [
    {
      "token": "価格",
      "start_offset": 0,
      "end_offset": 2,
      "type": "word",
      "position": 0
    },
    {
      "token": "は",
      "start_offset": 2,
      "end_offset": 3,
      "type": "word",
      "position": 1
    },
    {
      "token": "12345",
      "start_offset": 3,
      "end_offset": 12,
      "type": "word",
      "position": 2
    },
    {
      "token": "円",
      "start_offset": 12,
      "end_offset": 13,
      "type": "word",
      "position": 3
    },
    {
      "token": "です",
      "start_offset": 13,
      "end_offset": 15,
      "type": "word",
      "position": 4
    }
  ]
}

관련 문서

더 알아보기 (Learn more)