Elasticsearch + 한국어형태소분석기 + JDK 호환 문제.

Elastic/Elasticsearch 2013. 1. 14. 11:02

아래 내용이 잘못 되어서 정정 합니다. ㅡ.ㅡ;;
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 버전이랑 함께 사용할 경우 오류가 납니다.
참고하세요.

: