Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- else문
- 셸
- 제로베이스
- python
- 제로베이스pm스쿨
- for문
- 파이썬
- 블록구조
- while문
- NumPy
- elif문
- if문
- 매핑
- UNIX
- 제로베이스부트캠프
- pm
- shell
- bulk
- Size
- kuromoji
- 반복문
- 학습일지
- pm스쿨28기
- 일본어형태소분석기
- kibana
- Sort
- 조건문
- ElasticSearch
- mapping
- json
Archives
- Today
- Total
code name blue
elasticsearch : 일본어 형태소 분석기 kuromoji - analyzer (3) 본문
Programming/Elasticsearch
elasticsearch : 일본어 형태소 분석기 kuromoji - analyzer (3)
byebyeblue 2019. 11. 1. 14:23elasticsearch 6.4.3 version
5. kuromoji_readingform
token filter (공식문서)
kuromoji_readingform
토큰 필터는 가타카나 혹은 로마자 발음대로 결과를 리턴한다.
사전 정의된 kuromoji_readingform
필터를 사용할 때 use_romaji
항목을 true
로 사용한다.
반대로 커스텀 kuromoji_readingform
필터를 사용하거나 가타카나 발음 결과를 리턴하고 싶을 경우
use_romaji
항목을 false
로 사용하면 된다.
PUT kuromoji_sample
{
"settings": {
"index":{
"analysis":{
"analyzer" : {
"romaji_analyzer" : {
"tokenizer" : "kuromoji_tokenizer",
"filter" : ["romaji_readingform"]
},
"katakana_analyzer" : {
"tokenizer" : "kuromoji_tokenizer",
"filter" : ["katakana_readingform"]
}
},
"filter" : {
"romaji_readingform" : {
"type" : "kuromoji_readingform",
"use_romaji" : true
},
"katakana_readingform" : {
"type" : "kuromoji_readingform",
"use_romaji" : false
}
}
}
}
}
}
공식 예제에서는 romaji_analyzer
와 katakana_analyzer
를 설정하였다.
각각 필터는 romaji_readingform
과 katakana_readingform
을 설정하였다.
GET kuromoji_sample/_analyze
{
"analyzer": "katakana_analyzer",
"text": "寿司"
}
GET kuromoji_sample/_analyze
{
"analyzer": "romaji_analyzer",
"text": "寿司"
}
위와 같이 같은 텍스트를 katakana_analyzer
와 romaji_analyzer
에 각각 쿼리를 날리면
'スシ'와 'sushi'의 결과를 각각 리턴한다.
6. kuromoji_stemmer
token filter (공식문서)
kuromoji_stemmer
토큰 필터는 가타카나 단어에서 마지막에 장음처리되는 부분을 제거한다.
단어 하나가 전체적으로 모두 가타카나로 이루어진 경우에만 작동한다.
기본적으로 minimum_length
세팅을 사용하고, 디폴트 값은 4
이다.
가타카나 단어가 minimum_length
에 설정된 값보다 작을 경우 변환되지 않는다.
PUT kuromoji_sample
{
"settings": {
"index": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "kuromoji_tokenizer",
"filter": [
"my_katakana_stemmer"
]
}
},
"filter": {
"my_katakana_stemmer": {
"type": "kuromoji_stemmer",
"minimum_length": 4
}
}
}
}
}
}
공식 예제에서는 위와 같이 설정한다.
GET kuromoji_sample/_analyze
{
"analyzer": "my_analyzer",
"text": "コピー"
}
GET kuromoji_sample/_analyze
{
"analyzer": "my_analyzer",
"text": "サーバー"
}
'コピー'는 그대로 'コピー'로 리턴되고, 'サーバー'는 'サーバ'로 리턴된다.
'Programming > Elasticsearch' 카테고리의 다른 글
elasticsearch : 일본어 형태소 분석기 kuromoji - analyzer (2) (0) | 2019.11.01 |
---|---|
elasticsearch : 일본어 형태소 분석기 kuromoji - analyzer (1) (0) | 2019.10.29 |
elasticsearch : 일본어 형태소 분석기 kuromoji 설치 (0) | 2019.10.29 |
elasticsearch : 검색 결과별 쿼리 (1) - from/size, sort (0) | 2019.10.21 |
elasticsearch : 다량의 데이터 넣기(bulk json insert) (0) | 2019.10.08 |
Comments