'hanguel'에 해당되는 글 2건

  1. 2015.11.24 [Lucene] Arirang에 구현된 한글 초성,중성,종성 변환
  2. 2015.11.20 [Elasticsearch] 한글 자모 형태소 분석기 플러그인.

[Lucene] Arirang에 구현된 한글 초성,중성,종성 변환

ITWeb/검색일반 2015. 11. 24. 17:35

수명님이 이미 다 만들어 놓으셨는데 참 뒷북도 ㅡ.ㅡ;

일단 죄송합니다.


arirang-morph 프로젝트 내 MorphUtil 클래스에 구현되어 있습니다.


[한글 초성/중성/종성 분리]

/**
* 한글 한글자를 초성/중성/종성의 배열로 만들어 반환한다.
* @param c the character to be decomposed
*/
public static char[] decompose(char c) {
char[] result = null;

if(c>0xD7A3||c<0xAC00) return new char[]{c};

c -= 0xAC00;

char choseong = CHOSEONG[c/JUNG_JONG];
c = (char)(c % JUNG_JONG);

char jungseong = JUNGSEONG[c/JONGSEONG.length];

char jongseong = JONGSEONG[c%JONGSEONG.length];

if(jongseong != 0) {
result = new char[] {choseong, jungseong, jongseong};
}else {
result = new char[] {choseong, jungseong};
}
return result;
}



[한글 초성/중성/종성 합침]

public static char compound(int first, int middle, int last) {    
return (char)(0xAC00 + first* JUNG_JONG + middle * JONGSEONG.length + last);
}


:

[Elasticsearch] 한글 자모 형태소 분석기 플러그인.

Elastic/Elasticsearch 2015. 11. 20. 00:07

짜집기 코드를 활용해서 플러그인을 만들어 봤습니다.

소스 코드는 아래에서 받아 보실 수 있습니다.


[repository]

https://github.com/HowookJeong/elasticsearch-analysis-hangueljamo


[빌드방법]

$ mvn clean package


  • Elasticsearch Analyze Test URL
http://localhost:9200/test/_analyze?analyzer=hangueljamo_analyzer&text=Henry 노트북&pretty=1
  • Analyzed Result
{
  "tokens" : [ {
    "token" : "henry",
    "start_offset" : 0,
    "end_offset" : 5,
    "type" : "word",
    "position" : 0
  }, {
    "token" : "ㄴㅌㅂ",
    "start_offset" : 6,
    "end_offset" : 9,
    "type" : "word",
    "position" : 1
  } ]
}


: