아래 내용이 잘못 되어서 정정 합니다. ㅡ.ㅡ;;
kr_filter 부분에서 오류가 발생을 하는 것은 맞습니다.
다만, 해결책이 현재 클리어 하지 않은 상황이라 일단 적용한 스키마 코드랑 문제에 대한 차선책을 공유 합니다.
kr_filter 를 ngram 으로 변경했으나 이것도 최선은 아닙니다.
[문제가 된 스키마]
"index" : {
"analysis" : {
"analyzer" : {
"kr_analyzer" : {
"type" : "custom",
"tokenizer" : "kr_tokenizer",
"filter" : ["trim", "kr_filter", "kr_synonym"]
},
"kr_analyzer" : {
"type" : "custom",
"tokenizer" : "kr_tokenizer",
"filter" : ["trim", "kr_filter", "kr_synonym"]
}
},
"filter" : {
"kr_synonym" : {
"type" : "synonym",
"synonyms_path" : "analysis/synonym.txt"
}
}
}
}
[차선책]
"index" : {
"analysis" : {
"analyzer" : {
"kr_analyzer" : {
"type" : "custom",
"tokenizer" : "kr_tokenizer",
"filter" : ["trim", "ngram", "kr_synonym"]
},
"kr_analyzer" : {
"type" : "custom",
"tokenizer" : "kr_tokenizer",
"filter" : ["trim", "ngram", "kr_synonym"]
}
},
"filter" : {
"kr_synonym" : {
"type" : "synonym",
"synonyms_path" : "analysis/synonym.txt"
},
"ngram" : {
"type" : "ngram",
"min_gram" : 2,
"max_gram" : 8
}
}
}
}
운영을 하면서 발생한 이슈를 공유 합니다.
elasticsearch 0.19.12 + elasticsearch-analysis-korean-1.1.0 + jdk1.6.0 32
▷ 이 구성에서 JDK 버전으로 인해 분석기에서 오류가 발생 합니다.
▷ 오류 내용은 analysis 세팅 시 filter 부분에 trim 과 kr_filter 적용을 해야 합니다.
▷ 근데 이 두 filter 에서 색인 시 오류가 납니다.
▷ 해결책은 일단 개발 환경과 동일하게 JDK 버전을 낮춰서 해결을 했습니다.
사용 시 참고하세요.
그리고 elasticsearch-analysis-korean 이넘은 elasticsearch 0.19.9 로 빌드 되어 있어서 0.2x 버전이랑 함께 사용할 경우 오류가 납니다.
참고하세요.