'jamo'에 해당되는 글 3건

  1. 2021.04.30 [Elasticsearch] Arirang Plugin에 테스트로 Jamo Tokenizer API 넣어 봤습니다.
  2. 2015.11.24 [Lucene] Arirang에 구현된 한글 초성,중성,종성 변환
  3. 2015.11.20 [Elasticsearch] 한글 자모 형태소 분석기 플러그인.

[Elasticsearch] Arirang Plugin에 테스트로 Jamo Tokenizer API 넣어 봤습니다.

Elastic/Elasticsearch 2021. 4. 30. 09:25

https://github.com/HowookJeong/elasticsearch-analysis-arirang/tree/hanguel-jamo-tokenizer-7.12.0

 

Checkout 받으신 후 빌드 하시고 설치 하시면 됩니다.

 

$ mvn clean install -DskipTests=true
$ bin/elasticsearch-plugin install file:///Users/mzc02-henryjeong/Works/github/howookjeong/elasticsearch-analysis-arirang/target/elasticsearch-analysis-arirang-7.12.0.zip

 

[Request]
curl --location --request POST 'http://localhost:9200/_arirang/jamo?text=엘라스틱서치&token=CHOSUNG'

 

[Method]

GET / POST

 

[Response]
CHOSUNG -> ㅇㄹㅅㅌㅅㅊ
JUNGSUNG -> ㅔㅏㅡㅣㅓㅣ
JONGSUNG -> ㄹㄱ
KORTOENG -> dpffktmxlrtjcl

 

[Parameters]

  • text
    형태소 분석할 문자열
  • token
    분석 유형 지정
    CHOSUNG (초성)
    JUNGSUNG (중성)
    JONGSUNG (종성)
    KORTOENG (한영 변환)

기능 테스트로 넣어 둔거라서 성능적인 검증은 하지 않았습니다.

:

[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
  } ]
}


: