AWS ES 에는 Elasticsearch 커뮤니티의 플러그인이 미리 포함되어 있기 때문에 bin/elasticsearch-plugin install 명령어를 날려줄 필요가 없다. (워후)
플러그인 전체 목록은 Kibana 의 Dev Tools 에서 아래와 같이 명령어를 날리거나,
GET _cat/plugins?v
curl 명령어를 통해 확인할 수 있다.
$ curl -u ${ES_USER}:${ES_PASSWORD} ${ES_HOST}/_cat/plugins
사용자 사전 추가하기
한글 형태소 분석기로 analysis-seunjeon (은전한닢, mecab) 가 있는데, 형태소 분석기를 아무리 잘 만들어놨다고 해도 한글의 세계는 오묘하고도 어렵기 때문에 사용자 사전을 추가해주는게 좋다.
1. 사용자 사전을 텍스트 파일로 만든다.
+ 동의어 사전도 추가해 준다.
2. AWS S3 버킷을 만든다.
3. 위에서 만든 사용자 사전 파일을 AWS S3 에 업로드한다.
4. AWS S3 에서 AWS ES 패키지로 데이터를 가져온다.
1) AWS Elasticsearch Service > 패키지 > [가져오기] 버튼 클릭
2) 이름, AWS S3 URI 입력 > [가져오기] 버튼 클릭
3) 패키지 확인
5. AWS ES 에 패키지를 연결한다.
1) 도메인 클릭 > 패키지 탭 클릭 > [연결] 버튼 클릭
2) 해당하는 패키지를 클릭 > [연결] 버튼 클릭
6. 인덱스를 생성한 후 settings 정보에 해당하는 사전의 패키지 ID 를 넣는다.
1) 인덱스 생성
PUT test-index
2) 인덱스 CLOSE (settings 설정을 하기 위해선 인덱스를 닫아놔야 한다. )
POST test-index/_close
3) 인덱스 settings 설정
PUT test-index/_settings
{
"analysis":{
"analyzer":{
"seunjeon_analyzer":{
"type":"custom",
"tokenizer":"seunjeon_tokenizer",
"filter":[
"synonym",
"lowercase"
]
}
},
"tokenizer":{
"seunjeon_tokenizer":{
"type":"seunjeon_tokenizer",
"user_dict_path":"analyzers/F33804743",
"index_eojeol": "true",
"index_poses": ["N","SL", "SH", "SN", "XR", "V", "UNK", "M"],
"decompound": "true"
}
},
"filter":{
"synonym": {
"type" : "synonym",
"synonyms_path" : "analyzers/F107270250"
}
}
}
}
4) 인덱스 OPEN
POST test-index/_open
<Before>
GET /_analyze
{
"tokenizer": "seunjeon_tokenizer",
"text": [
"요니킴"
]
}
=>
{
"tokens" : [
{
"token" : "요니/N",
"start_offset" : 0,
"end_offset" : 2,
"type" : "N",
"position" : 0
},
{
"token" : "킴/N",
"start_offset" : 2,
"end_offset" : 3,
"type" : "N",
"position" : 1
}
]
}
<After>
GET test-index/_analyze
{
"analyzer": "seunjeon_analyzer",
"text": [
"요니킴"
]
}
=>
{
"tokens" : [
{
"token" : "요니킴/N",
"start_offset" : 0,
"end_offset" : 3,
"type" : "N",
"position" : 0
},
{
"token" : "요니/N",
"start_offset" : 0,
"end_offset" : 3,
"type" : "SYNONYM",
"position" : 0
}
]
}
패키지 업데이트 방법도 공유한다.
1. 패키지 이름을 클릭한다.
2. [패키지 업데이트] 버튼을 클릭한다.
3. 적용된 도메인의 패키지에서 [업데이트 적용] 버튼을 클릭한다.
※ 만약 연결 실패 오류가 났다면?
1. 인덱스 CLOSE -> 2. 연결 해제 -> 3. 다시 연결 -> 4. 인덱스 OPEN
'ElasticSearch & OpenSearch' 카테고리의 다른 글
[ElasticSearch] 한글 형태소 분석기 설치하기 (0) | 2021.05.03 |
---|---|
[Filebeat] docker-filebeat 세팅하고 띄우기 (0) | 2021.04.29 |
[Docker-elk] docker-elk 세팅하고 띄우기 (0) | 2021.04.20 |
[OpenSearch] docker-elk 에서 AWS ES 로 옮기기 - 2. docker-logstash (0) | 2021.04.20 |
[OpenSearch] docker-elk 에서 AWS ES 로 옮기기 - 1. AWS ES 생성 (0) | 2021.04.20 |