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

Simple pattern split tokenizer

원문 보기 위키 갱신

출처: 문서

본문

Simple pattern split 토크나이저

simple_pattern_split 토크나이저는 정규식을 사용해 텍스트를 토큰으로 분할해요. 정규식은 텍스트를 어디에서 분할할지 결정하는 패턴을 정의해요. 텍스트에서 패턴과 일치하는 부분은 구분자로 사용되고, 구분자 사이의 텍스트가 토큰이 돼요. 구분자를 직접 정의하고 나머지 텍스트를 패턴을 기준으로 토큰화하고 싶다면 이 토크나이저를 사용하세요.

이 토크나이저는 입력 텍스트에서 정규식과 일치하는 부분을 텍스트를 텀으로 나누는 구분자, 즉 경계로만 사용해요. 일치한 부분은 생성되는 텀에 포함되지 않아요. 예를 들어 토크나이저가 마침표 문자(.)를 기준으로 텍스트를 분할하도록 설정되어 있고 입력 텍스트가 one.two.three라면, 생성되는 텀은 one, two, three예요. 마침표 문자 자체는 결과 텀에 포함되지 않아요.

사용 예

다음 예제 요청은 my_index라는 새 인덱스를 생성하고 simple_pattern_split 토크나이저를 사용하는 분석기를 설정해요. 이 토크나이저는 하이픈을 기준으로 텍스트를 분할하도록 설정되어 있어요:

PUT /my_index
{
  "settings": {
    "analysis": {
      "tokenizer": {
        "my_pattern_split_tokenizer": {
          "type": "simple_pattern_split",
          "pattern": "-"
        }
      },
      "analyzer": {
        "my_pattern_split_analyzer": {
          "type": "custom",
          "tokenizer": "my_pattern_split_tokenizer"
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "content": {
        "type": "text",
        "analyzer": "my_pattern_split_analyzer"
      }
    }
  }
}

{% include copy-curl.html %}

생성된 토큰

다음 요청을 사용하면 분석기로 생성된 토큰을 확인할 수 있어요:

POST /my_index/_analyze
{
  "analyzer": "my_pattern_split_analyzer",
  "text": "OpenSearch-2024-10-09"
}

{% include copy-curl.html %}

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

{
  "tokens": [
    {
      "token": "OpenSearch",
      "start_offset": 0,
      "end_offset": 10,
      "type": "word",
      "position": 0
    },
    {
      "token": "2024",
      "start_offset": 11,
      "end_offset": 15,
      "type": "word",
      "position": 1
    },
    {
      "token": "10",
      "start_offset": 16,
      "end_offset": 18,
      "type": "word",
      "position": 2
    },
    {
      "token": "09",
      "start_offset": 19,
      "end_offset": 21,
      "type": "word",
      "position": 3
    }
  ]
}

파라미터

simple_pattern_split 토크나이저는 다음 파라미터로 설정할 수 있어요.

파라미터 필수/선택 데이터 타입 설명
pattern 선택 String 텍스트를 토큰으로 분할할 때 사용하는 패턴으로, Lucene 정규식으로 지정해요. 기본값은 빈 문자열이며, 이 경우 입력 텍스트가 하나의 토큰으로 반환돼요.

더 알아보기 (Learn more)