Tokenizer는 반드시 한가지만 사용된다.
1. Standard, Letter, Whitespace
- Standard : 공백으로 텀을 구분하면서 "@"과 같은 일부 특수문자를 제거한다 (중간의 특수문자는 분리하지 않는다).
- Letter : 알파벳을 제외한 모든 공백 캐릭터를 기준으로 분리한다.
- Whitespace : 스페이스, 탭, 줄바꿈과 같은 공백만을 가지고 분리한다.
분석할 문장 : "THE quick.brown_FOx jumped! @ 3.5 meters."
// standard 토크나이저로 문장 분석
GET _analyze
{
"tokenizer": "standard",
"text": "THE quick.brown_FOx jumped! @ 3.5 meters."
}
// THE, quick.brown_FOx, jumped, 3.5, meters
// letter 토크나이저로 문장 분석
GET _analyze
{
"tokenizer": "letter",
"text": "THE quick.brown_FOx jumped! @ 3.5 meters."
}
// THE, quick, brown, FOx, jumped, meters
// whitespace 토크나이저로 문장 분석
GET _analyze
{
"tokenizer": "whitespace",
"text": "THE quick.brown_FOx jumped! @ 3.5 meters."
}
// THE, quick.brown_FOx, jumped!, @, 3.5, meters.
2. UAX URL Email
URL 이나 Email을 위한 Tokenizer
GET _analyze
{
"tokenizer": "uax_url_email",
"text": "email address is my-name@email.com and website is https://www.elastic.co"
}
// email, address, is, my-name@email.com, and, website, is, https://www.elastic.co
3. Pattern
Pattern 지정도 가능하다.
PUT pat_tokenizer
{
"settings": {
"analysis": {
"tokenizer": {
"my_pat_tokenizer": {
"type": "pattern",
"pattern": "/"
}
}
}
}
}
// my_pat_tokenizer 토크나이저로 문장 분석
GET pat_tokenizer/_analyze
{
"tokenizer": "my_pat_tokenizer",
"text": "/usr/share/elasticsearch/bin"
}
"pattern": "(?<=\\p{Lower})(?=\\p{Upper})"
와 같은 정규식(Regular Expression) 으로도 설정이 가능합니다.
4. Path Hierarchy
데이터를 계층별로 저장가능하다.
Default Use
// path_hierarchy 토크나이저로 문장 분석
POST _analyze
{
"tokenizer": "path_hierarchy",
"text": "/usr/share/elasticsearch/bin"
}
// /usr, /usr/share, /usr/share/elasticsearch, /usr/share/elasticsearch/bin
Using Delimiter
// hir_tokenizer 인덱스에 my_hir_tokenizer 토크나이저 생성
PUT hir_tokenizer
{
"settings": {
"analysis": {
"tokenizer": {
"my_hir_tokenizer": {
"type": "path_hierarchy",
"delimiter": "-",
"replacement": "/"
}
}
}
}
}
// hir_tokenizer 토크나이저로 문장 분석
GET hir_tokenizer/_analyze
{
"tokenizer": "my_hir_tokenizer",
"text": [
"one-two-three"
]
}
// one, one/two, one/two/three
'Elasticsearch (ELK) > Elasticsearch' 카테고리의 다른 글
7-6 형태소 분석 - Stemming (0) | 2020.05.28 |
---|---|
7-5. 데이터 색인과 텍스트 분석(실전) - Token Filter (0) | 2020.05.28 |
7-3. 데이터 색인과 텍스트 분석(실전) - 캐릭터 필터 (0) | 2020.05.28 |
7-2. 데이터 색인과 텍스트 분석(실전) - 애널라이저 & 토큰필터 (0) | 2020.05.28 |
7-1. 데이터 색인과 텍스트 분석(이론) (0) | 2020.05.28 |