6.5.2 UAX URL Email
이 문서의 허가되지 않은 무단 복제나 배포 및 출판을 금지합니다. 본 문서의 내용 및 도표 등을 인용하고자 하는 경우 출처를 명시하고 김종민([email protected])에게 사용 내용을 알려주시기 바랍니다.
주로 사용되는 Standard 토크나이저도 @, / 같은 특수문자는 공백과 마찬가지로 제거하고 분리합니다. 그런데 요즘의 블로그 포스트나 신문기사 같은 텍스트 들에는 이메일 주소 또는 웹 URL 경로 등이 삽입되어 있는 경우가 상당히 많습니다. 이 경우 Standard 토크나이저를 사용하면 이메일 주소등이 정상적으로 인식되지 않아 문제가 될 수 있는데, 이를 방지하기 위해 사용 가능한 것이 UAX URL Email 토크나이저 입니다.
UAX URL Email 토크나이저는 이메일 주소와 웹 URL 경로는 분리하지 않고 그대로 하나의 텀으로 저장을 합니다. 다음은 "email address is [email protected] and website is https://www.elastic.co" 문장을 각각 Standard 그리고 UAX URL Email 토크나이저로 분리 한 결과입니다.
request
response
standard 토크나이저로 문장 분석
1
GET _analyze
2
{
3
"tokenizer": "standard",
4
"text": "email address is [email protected] and website is https://www.elastic.co"
5
}
Copied!
standard 토크나이저로 문장 분석 결과
1
{
2
"tokens" : [
3
{
4
"token" : "email",
5
"start_offset" : 0,
6
"end_offset" : 5,
7
"type" : "<ALPHANUM>",
8
"position" : 0
9
},
10
{
11
"token" : "address",
12
"start_offset" : 6,
13
"end_offset" : 13,
14
"type" : "<ALPHANUM>",
15
"position" : 1
16
},
17
{
18
"token" : "is",
19
"start_offset" : 14,
20
"end_offset" : 16,
21
"type" : "<ALPHANUM>",
22
"position" : 2
23
},
24
{
25
"token" : "my",
26
"start_offset" : 17,
27
"end_offset" : 19,
28
"type" : "<ALPHANUM>",
29
"position" : 3
30
},
31
{
32
"token" : "name",
33
"start_offset" : 20,
34
"end_offset" : 24,
35
"type" : "<ALPHANUM>",
36
"position" : 4
37
},
38
{
39
"token" : "email.com",
40
"start_offset" : 25,
41
"end_offset" : 34,
42
"type" : "<ALPHANUM>",
43
"position" : 5
44
},
45
{
46
"token" : "and",
47
"start_offset" : 35,
48
"end_offset" : 38,
49
"type" : "<ALPHANUM>",
50
"position" : 6
51
},
52
{
53
"token" : "website",
54
"start_offset" : 39,
55
"end_offset" : 46,
56
"type" : "<ALPHANUM>",
57
"position" : 7
58
},
59
{
60
"token" : "is",
61
"start_offset" : 47,
62
"end_offset" : 49,
63
"type" : "<ALPHANUM>",
64
"position" : 8
65
},
66
{
67
"token" : "https",
68
"start_offset" : 50,
69
"end_offset" : 55,
70
"type" : "<ALPHANUM>",
71
"position" : 9
72
},
73
{
74
"token" : "www.elastic.co",
75
"start_offset" : 58,
76
"end_offset" : 72,
77
"type" : "<ALPHANUM>",
78
"position" : 10
79
}
80
]
81
}
Copied!
request
response
uax_url_email 토크나이저로 문장 분석
1
GET _analyze
2
{
3
"tokenizer": "uax_url_email",
4
"text": "email address is [email protected] and website is https://www.elastic.co"
5
}
Copied!
letter 토크나이저로 문장 분석 결과
1
{
2
"tokens" : [
3
{
4
"token" : "email",
5
"start_offset" : 0,
6
"end_offset" : 5,
7
"type" : "<ALPHANUM>",
8
"position" : 0
9
},
10
{
11
"token" : "address",
12
"start_offset" : 6,
13
"end_offset" : 13,
14
"type" : "<ALPHANUM>",
15
"position" : 1
16
},
17
{
18
"token" : "is",
19
"start_offset" : 14,
20
"end_offset" : 16,
21
"type" : "<ALPHANUM>",
22
"position" : 2
23
},
24
{
25
"token" : "[email protected]",
26
"start_offset" : 17,
27
"end_offset" : 34,
28
"type" : "<EMAIL>",
29
"position" : 3
30
},
31
{
32
"token" : "and",
33
"start_offset" : 35,
34
"end_offset" : 38,
35
"type" : "<ALPHANUM>",
36
"position" : 4
37
},
38
{
39
"token" : "website",
40
"start_offset" : 39,
41
"end_offset" : 46,
42
"type" : "<ALPHANUM>",
43
"position" : 5
44
},
45
{
46
"token" : "is",
47
"start_offset" : 47,
48
"end_offset" : 49,
49
"type" : "<ALPHANUM>",
50
"position" : 6
51
},
52
{
53
"token" : "https://www.elastic.co",
54
"start_offset" : 50,
55
"end_offset" : 72,
56
"type" : "<URL>",
57
"position" : 7
58
}
59
]
60
}
Copied!
"tokenizer": "uax_url_email" 로 설정하여 텍스트를 분석하면 이메일 주소와 웹 URL은 그대로 남아있는 것을 확인할 수 있습니다.
Copy link