Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 우분투
- AI 경진대회
- Real or Not? NLP with Disaster Tweets
- ChatGPT
- 프로그래머스 파이썬
- programmers
- Docker
- 코로나19
- 편스토랑 우승상품
- Baekjoon
- 더현대서울 맛집
- github
- 금융문자분석경진대회
- 자연어처리
- Kaggle
- hackerrank
- 캐치카페
- SW Expert Academy
- 맥북
- dacon
- ubuntu
- gs25
- Git
- 파이썬
- leetcode
- PYTHON
- 데이콘
- 백준
- 프로그래머스
- 편스토랑
Archives
- Today
- Total
솜씨좋은장씨
[Elasticsearch] "failed to find global tokenizer under [nori_tokenizer]" 본문
Programming/Elasticsearch
[Elasticsearch] "failed to find global tokenizer under [nori_tokenizer]"
솜씨좋은장씨 2020. 4. 29. 11:30728x90
반응형
aws ec2 서버에서 nori를 사용하기위해 설치하고
Kibana에서 제대로 설치가 되었는지 확인해보기위해
GET _analyze
{
"tokenizer": "nori_tokenizer",
"text": [
"동해물과 백두산이"
]
}
위의 query를 실행하였을때
{
"error" : {
"root_cause" : [
{
"type" : "illegal_argument_exception",
"reason" : "failed to find global tokenizer under [nori_tokenizer]"
}
],
"type" : "illegal_argument_exception",
"reason" : "failed to find global tokenizer under [nori_tokenizer]"
},
"status" : 400
}
위처럼 에러 내용이 출력되는 경우 해결방법에 대해서 적어보았습니다.
원인
아직 설치한 nori가 현재 백그라운드에서 실행되고 있는 elasticsearch에 반영되어있지 않기 때문
해결 방법
Elasticsearch를 재실행해주면 됩니다.
방법은 다음과 같습니다.
ps -ef | grep elastic
먼저 터미널에서 실행되고 있는 elasticsearch의 PID(프로세스 ID)를 찾기위해 위의 명령어를 입력합니다.
ec2-user 961 32661 0 02:22 pts/2 00:00:00 grep --color=auto elastic
ec2-user 4365 1 0 Apr16 ? 01:17:36 /home/ec2-user/elasticsearch-7.6
ec2-user 4458 4365 0 Apr16 ? 00:00:00 /home/ec2-user/elasticsearch-7.6
그럼 위와 같이 나오는데 여기서 해당하는 항목의 ec2-user 뒤에 나오는 번호가 PID 입니다.
kill 4365
kill 명령어를 사용하여 실행을 중단 합니다.
그럼 기존에 실행되고 있던 Elasticsearch가 종료됩니다.
그런 다음 아래의 명령어를 통해 Elasticsearch와 Kibana를 재실행합니다.
nohup 엘라스틱서치_설치경로/bin/elasticsearch &
nohup Kibana_설치경로/bin/Kibana &
그럼 끝!
제대로 설정이 완료되었는지 확인
GET _analyze
{
"tokenizer": "nori_tokenizer",
"text": [
"동해물과 백두산이"
]
}
다시 아까 실패했던 query를 실행해보면
{
"tokens" : [
{
"token" : "동해",
"start_offset" : 0,
"end_offset" : 2,
"type" : "word",
"position" : 0
},
{
"token" : "물",
"start_offset" : 2,
"end_offset" : 3,
"type" : "word",
"position" : 1
},
{
"token" : "과",
"start_offset" : 3,
"end_offset" : 4,
"type" : "word",
"position" : 2
},
{
"token" : "백두",
"start_offset" : 5,
"end_offset" : 7,
"type" : "word",
"position" : 3
},
{
"token" : "산",
"start_offset" : 7,
"end_offset" : 8,
"type" : "word",
"position" : 4
},
{
"token" : "이",
"start_offset" : 8,
"end_offset" : 9,
"type" : "word",
"position" : 5
}
]
}
위처럼 이번에는 제대로 결과가 나오는 것을 확인할 수 있습니다.
읽어주셔서 감사합니다.
'Programming > Elasticsearch' 카테고리의 다른 글
[Elasticsearch] 각종 터미널 명령 모음! (0) | 2021.02.02 |
---|---|
[Elasticsearch] Elasticsearch ValueError: Circular reference detected 해결방법 (0) | 2021.01.26 |
Elasticsearch 보안 관련 주의 사항! (0) | 2021.01.15 |
[Elasticsearch] Not whitelisted in reindex.remote.whitelist 해결 방법 (2) | 2020.12.21 |
[Elasticsearch] ConnectionTimeout caused by - ReadTimeoutError (feat. bulk API + python) (2) | 2020.05.08 |
Comments