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

Keyword tokenizer

원문 보기 위키 갱신

출처: 문서

본문

Keyword 토크나이저

keyword 토크나이저는 텍스트를 받아서 원본 그대로 하나의 토큰으로 출력해요. 입력 내용을 그대로 유지하고 싶을 때, 예를 들어 이름, 제품 코드, 이메일 주소 같은 구조화된 데이터를 다룰 때 특히 유용해요.

keyword 토크나이저는 토큰 필터와 함께 사용해서 텍스트를 처리할 수 있어요. 예를 들어 텍스트를 정규화하거나 불필요한 문자를 제거하는 식이죠.

사용 예시

다음 예시 요청은 my_index라는 새 인덱스를 만들고, keyword 토크나이저로 애널라이저를 설정해요:

PUT /my_index
{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_keyword_analyzer": {
          "type": "custom",
          "tokenizer": "keyword"
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "content": {
        "type": "text",
        "analyzer": "my_keyword_analyzer"
      }
    }
  }
}

{% include copy-curl.html %}

생성된 토큰

애널라이저가 생성한 토큰을 확인하려면 다음 요청을 사용해요:

POST /my_index/_analyze
{
  "analyzer": "my_keyword_analyzer",
  "text": "OpenSearch Example"
}

{% include copy-curl.html %}

응답에는 원본 텍스트를 나타내는 단일 토큰이 담겨 있어요:

{
  "tokens": [
    {
      "token": "OpenSearch Example",
      "start_offset": 0,
      "end_offset": 18,
      "type": "word",
      "position": 0
    }
  ]
}

파라미터

keyword 토큰 필터는 다음 파라미터로 설정할 수 있어요.

파라미터 필수/선택 데이터 타입 설명
buffer_size 선택 Integer 문자 버퍼 크기를 결정해요. 기본값은 256이에요. 보통 이 설정을 바꿀 필요는 없어요.

keyword 토크나이저와 토큰 필터 조합하기

keyword 토크나이저의 기능을 강화하려면 토큰 필터와 조합할 수 있어요. 토큰 필터는 텍스트를 소문자로 변환하거나 원치 않는 문자를 제거하는 등의 변환을 수행할 수 있어요.

예시: pattern_replace 필터와 keyword 토크나이저 사용하기

이 예시에서 pattern_replace 필터는 정규식을 사용해 영숫자가 아닌 모든 문자를 빈 문자열로 바꿔요:

POST _analyze
{
  "tokenizer": "keyword",
  "filter": [
    {
      "type": "pattern_replace",
      "pattern": "[^a-zA-Z0-9]",
      "replacement": ""
    }
  ],
  "text": "Product#1234-XYZ"
}

{% include copy-curl.html %}

pattern_replace 필터는 영숫자가 아닌 문자를 제거하고 다음 토큰을 반환해요:

{
  "tokens": [
    {
      "token": "Product1234XYZ",
      "start_offset": 0,
      "end_offset": 16,
      "type": "word",
      "position": 0
    }
  ]
}

더 알아보기 (Learn more)