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