-
-
Notifications
You must be signed in to change notification settings - Fork 63
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
KOMORANAdmin을 KOMORAN repository로 통합 (#106)
* initial commit * migrated from 9bow/DictAdmin * GitHub 이슈 템플릿 추가 * README 개선 * URL 수정 * README 개선 * KOMORAN 버전 수정 * 누락된 css/js 파일 추가 * 에러 메시지 출력 방법 개선 및 입력값 검증 추가 related #5 & #4 * Exception 메시지 변경 * 파일 업로드 시 문제 해결 방법 변경 related #2 * 에러 메시지 노출 * 테이블 이름 대소문자 구분 * 사용자 사전 관리 기능 추가 closes #6 * 저장소 경로를 변경합니다. * ID 생성 방법 통일 * 띄어쓰기 수정 * DicWord 테스트 정리 * DicUser 테스트 추가 * 예외 케이스 추가 * 오타 및 품사 표시 방법 수정 * .gitignore 업데이트 * grammar.in 관리기능 추가 * GrammarIn 테스트 코드 추가 * 메뉴 정리 * 메뉴 정리, favicon 변경 * 품사 빈도 관리(GrammarIn) 오류 수정 * 페이지 상단 사용법 설명 변경 * Analyze 기능 추가 closes #12 * KOMORAN 관리도구 설명 초안 추가 related #11 * 사용하지 않는 lib 정리 * 기분석 사전(fwd.user) 관리 기능 추가 related #7 * FULL 모델 제거 closes #16 * 보정 메뉴 내의 순서 변경 closes #17 * 모든 컬럼이 수정 가능하도록 변경 closes #20 * KOMORAN의 master 브랜치를 가져오도록 수정 * 사용자 모델 추가 related #14 * grammar.in 변경사항이 적용된 별도 KOMORAN.jar 관리 related #14 & #56 * 품사 빈도 파싱 규칙 수정 related #9 * 품사 변경 내용 적용 및 중복 품사 삭제한 기본 품사 빈도 파일 업데이트 related #9, #14 * 사용자 모델 생성 및 생성된 모델 목록 조회 기능 추가 related #14 * 사용자 모델 생성에 필요한 기본 사전 데이터 추가 로직 변경 related #14 * 형태소 분석 비교 메뉴 추가 closes #13 * 사용하지 않는 CSS 정리 * 오타 수정 * 사용하지 않는 코드 / 파일 제거 * 모델 관리 메뉴 추가 (모델 삭제 및 배포 기능) closes #15 #24 * 코드 정리 등 * 코드 정리 및 설명 수정 등 * 사용하지 않는 코드 정리 * 좌측 메뉴 숨김 시 테이블 다시 그리기 closes #23 * 오타 수정 * README 갱신 relate #27 * Apache 2.0 라이선스 적용 related #29 * 사용자 모델 목록 제공 시 유효성 검사 추가 related #28 * Log Level 변경 * Log Level 변경 * 사용자 모델 관련 테스트 추가 related #14 #15 #24 * FAQ 및 라이선스 추가 related #31 * 로그 레벨 변경 및 로컬 환경에서만 접근 가능하도록 수정 related #32 * 접근 포트를 8888에서 3579로 변경 related #33 * 명시적으로 인코딩 지정 related #18 #35 * FAQ 내용 추가 및 별도 문서로 분리 related #31 * Log Level 조정 related #37 (TODO: Profile 분리) * KOMORAN 실행 완료 안내 문구 추가 related #36 * 1.0 릴리즈를 위한 버전 변경 * 최신 버전의 KOMORAN을 사용하도록 변경 related #38 #18 #14 * 페이지 로딩 시 동작 일부 변경 * FAQ 내용 일부 수정 related #31 #34 * 분석 메뉴에 모델을 선택하여 분석할 수 있도록 기능 추가 related #42 * 사용자 모델에 대한 유효성 검사를 담당하는 컴포넌트를 새로 만들고, 해당 컴포넌트를 사용하여 유효성을 검사 related #39 * 잘못 삭제한 parseModelName() 함수 복원 * 오타 수정 및 모델 생성 시 기본 디렉토리 생성 코드 복구 * 사용자 모델의 유효성 검사시 corpus_build/ 디렉토리 및 하위 파일들에 대한 유효성 검사 추가 #39 - corpus_build/ 디렉토리 유효성 검사 추가 - corpus_build/ 디렉토리 하위의 dic.word, dic.irregular, grammar.in 파일 유효성 검사 추가 * 아래 메뉴들에 Enter 키를 이용한 Form Submit 기능 적용 #41 - 기본 형태소 분석 메뉴 (analyze.html) - 형태소 분석 비교 메뉴 (compare.html) * 띄어쓰기, 공백 정리 등 * 보정 메뉴들에 Enter 키를 이용한 Form Submit 기능 추가 related #41 * 사용자 모델 선택 변경 시에도 형태소 분석 진행 related #41 * KOMORAN 버전을 3.3.5로 지정 * 분석 메뉴를 문장 단위와 파일 단위로 분리 related #44, #45 * KOMORAN 3.3.5 이상 지원을 명시 * 여러 문장의 형태소 분석 지원 related #45 * init commit * implementation compare file page based on form * 파일 비교 페이지 개발 * Komoran project를 module로 변경 Co-authored-by: Junghwan Park <[email protected]>
- Loading branch information
Showing
1,766 changed files
with
272,180 additions
and
63 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
# 자주 묻는 질문과 답변 (FAQ) | ||
|
||
## 형태소 분석기 관련 FAQ | ||
|
||
* **질문(이하 Q)**: KOMORAN은 무엇인가요? | ||
* **답변(이하 A)**: [KOMORAN](https://github.com/shin285/KOMORAN)은 [신준수](https://github.com/shin285)님께서 [2013년](https://shineware.tistory.com/entry/KOMORAN-ver-05-자바-한글-형태소-분석기)부터 개발해온 한국어 형태소 분석기입니다. 더 자세한 내용은 [홈페이지](https://www.shineware.co.kr/products/komoran/?utm_source=komoran-admin&utm_medium=Referral&utm_campaign=admin-github)를 참고해주세요. | ||
|
||
* **Q**: KOMORAN 외에 다른 형태소 분석기도 사용할 수 있나요? | ||
* **A**: KOMORAN 관리도구는 KOMORAN을 위해 개발되어 다른 형태소 분석기에서는 사용이 어렵습니다. 하지만, 사전의 형태가 동일하다면 사전 보정을 위해서는 사용할 수 있습니다. | ||
|
||
## 사전 관련 FAQ | ||
|
||
* **Q**: 사전 데이터는 어디에 저장되나요? | ||
* **A**: 사전 데이터는 H2 Database에 저장되며, AdminDB.mv.db라는 파일로 존재합니다. SQL을 사용할 줄 아신다면 [H2 콘솔](http://localhost:3579/console)에서도 살펴보실 수 있습니다. | ||
|
||
* **Q**: 사전 데이터를 파일로 받고 싶어요. | ||
* **A**: 개별 사전을 파일 형태로 다운로드 받으시려면 각 사전 보정 메뉴 상단의 '내려받기'를 이용해주세요. | ||
|
||
* **Q**: 형태소 분석 결과 비교를 위해 임시로 일부 단어를 사전에서 제외하고 싶습니다. 삭제 / 등록 외에 방법이 있나요? | ||
* **A**: 사용자 사전과 기분석 사전은 단어가 `#` 문자로 시작하는 경우 해당 단어를 형태소 분석 시에 인식하지 않습니다. 단어 빈도와 품사 빈도에서는 사용할 수 없는 기능이니 참고해주세요. | ||
|
||
* **Q**: 사전 파일들은 어떤 형식으로 되어 있나요? | ||
* **A**: 각 사전 파일들의 형식은 다음과 같습니다. | ||
|
||
| 사전명 | 파일 규칙 | 예시(행) | 예시(파일) | 비고 | | ||
| ------------------------ | ------------------------------------ | ------------------------------- | ------------------------------------------------------------------------------------ | ----------------------------- | | ||
| 단어 빈도 (`dic.word`) | `단어\t품사:빈도` | `감사원 NNG:40` | [예시 파일](https://github.com/shin285/KOMORAN/blob/master/corpus_build/dic.word) | - | | ||
| 품사 빈도 (`grammar.in`) | `이전품사\t다음품사1:빈도,다음품사2:빈도,...` | `VCN EF:1874,EP:785,EC:4037` | [예시 파일](https://github.com/shin285/KOMORAN/blob/master/corpus_build/grammar.in) | - | | ||
| 사용자 사전 (`dic.user`) | `단어\t품사` | `바람과 함께 NNG` | [예시 파일](https://github.com/shin285/KOMORAN/blob/master/user_data/dic.user) | 단어가 `#`으로 시작 시 무시함 | | ||
| 기분석 사전 (`fwd.user`) | `기분석어절\t형태소1/품사1 형태소2/품사2 ...` | `감기는 감/NNG 기는/NNG` | [예시 파일](https://github.com/shin285/KOMORAN/blob/master/user_data/fwd.user) | 기분석 어절이 `#`으로 시작 시 무시함 | | ||
|
||
## 품사 관련 FAQ | ||
|
||
* **Q**: 품사의 종류는 어떻게 되나요? 어떤 품사들을 사용하나요? | ||
* **A**: KOMORAN 형태소 분석기와 KOMORAN 관리도구는 `21세기 세종계획`의 품사 기준을 따르고 있습니다. 개별 품사들의 목록은 [KOMORAN 문서](http://docs.komoran.kr/?utm_source=komoran-admin&utm_medium=Referral&utm_campaign=admin-github)의 [품사표(PoS Table)](http://docs.komoran.kr/firststep/postypes.html?utm_source=komoran-admin&utm_medium=Referral&utm_campaign=admin-github)을 참고해주세요. | ||
|
||
* **Q**: 품사 빈도에는 품사표에 없는 품사가 있습니다. 어떤 품사인가요? | ||
* **A**: 품사 빈도에는 품사표에 존재하는 품사들 외에 어절의 시작(`BOE`)과 끝(`EOE`)을 표시하는 별도의 품사가 존재합니다. | ||
|
||
## 모델 관련 FAQ | ||
|
||
* **Q**: 모델은 어디에 저장되나요? | ||
* **A**: 프로젝트 디렉토리 바로 아래에 `models/`라는 이름의 디렉토리 아래에 저장됩니다. 각 하위 디렉토리 하나가 모델 하나를 포함하고 있으며, 디렉토리명이 모델의 생성 시각입니다. | ||
|
||
* **Q**: 모델 디렉토리에는 어떤 내용들이 포함되어 있나요? | ||
* **A**: 모델 디렉토리 내에는 2개의 디렉토리(`corpus_build/`, `model/`)와 2개의 파일(`dic.user`, `fwd.user`)이 존재합니다. 각 내용은 다음과 같습니다. | ||
|
||
```sh | ||
. | ||
├── corpus_build # 사용자 모델을 생성하기 위한 기초 데이터 | ||
│ ├── dic.irregular # 불규칙 사전 | ||
│ ├── dic.word # 단어 빈도 사전 | ||
│ └── grammar.in # 품사 빈도 사전 | ||
├── dic.user # 사용자 단어 사전 | ||
├── fwd.user # 기분석 사전 | ||
└── model # 위 corpus_build/ 디렉토리 내의 데이터로 생성한 사용자 모델 | ||
├── irregular.model | ||
├── observation.model | ||
├── pos.table | ||
└── transition.model | ||
```` | ||
|
||
* **Q**: 모델 생성 시 사전을 확인하라는 메시지와 함께 모델 생성이 실패합니다. | ||
* **A**: 모델 생성 시 실패 원인은 사전 데이터에 있을 확률이 높습니다. 특히 품사 사전에 빠트린 품사 쌍이 있는지 확인해주세요. | ||
|
||
## 기타 사용 관련 FAQ | ||
|
||
* **Q**: 모델 생성 시간이 다르게 표시됩니다. | ||
* **A**: 모델 생성 시의 시간은 시스템 시간을 사용합니다. 모델 생성 시간이 다르게 표시된다면 KOMORAN 관리도구가 실행 중인 시스템의 시간을 확인해주세요. | ||
|
||
## 실행 환경 및 설정 관련 FAQ | ||
|
||
* **Q**: 다른 컴퓨터에서도 KOMORAN 관리도구에 접근할 수 있게 하고 싶습니다. | ||
* **A**: application.yaml 파일의 2번째줄의 `address: 127.0.0.1`을 `address: 0.0.0.0`으로 변경하면 외부에서도 접속이 가능합니다. | ||
|
||
* **Q**: Oracle JDK 외에 다른 JDK도 지원하나요? | ||
* **A**: 네, Oracle Java 1.8 외에 OpenJDK 1.8에서도 정상적으로 실행이 가능한 것을 확인하였습니다. 만약 사용 중 문제가 발생한다면 이슈를 남겨주세요. | ||
|
||
* **Q**: 최신 버전의 Java도 지원하나요? | ||
* **A**: 2019년 9월 현재 Oracle Java 12에서 정상적으로 실행이 가능한 것을 확인하였습니다. 만약 사용 중 문제가 발생한다면 이슈를 남겨주세요. | ||
|
||
* **Q**: 1GB 이하의 적은 메모리에서도 사용이 가능한가요? | ||
* **A**: 다음과 같이 설정하여 512MB의 가용 메모리에서 실행 가능한 것을 확인하였습니다. (단, Gradle Daemon은 별도입니다.) | ||
|
||
* **Q**: 메모리가 부족하여 메모리 사용량을 512MB로 제한하고 싶습니다. | ||
* **A**: gralde.properties 파일의 첫 번째 줄의 설정을 다음과 같이 변경해주세요. `org.gradle.jvmargs=-Xmx256m -Xmx3g -XX:MaxPermSize=256m -Dfile.encoding=UTF-8` | ||
|
||
## KOMORAN 관리도구 활용 관련 FAQ | ||
|
||
* **Q**: KOMORAN 관리도구를 회사에서 사용하고 싶습니다. | ||
* **A**: KOMORAN 관리도구는 Apache License 2.0으로 배포되고 있습니다. 따라서 절차 없이 영리 또는 비영리 목적으로 사용하실 수 있습니다. | ||
|
||
* **Q**: KOMORAN 관리도구의 소스코드를 변경하였습니다. 반드시 공개해야 하나요? | ||
* **A**: 변경한 코드는 공개하지 않으셔도 됩니다. 하지만 다른 분들께도 필요한 내용이라면 [Pull Request](https://github.com/shineware/KOMORANAdmin/pulls)를 보내주시기를 부탁드립니다. | ||
|
||
* **Q**: KOMORAN 관리도구를 개선하는데 기여하고 싶습니다. | ||
* **A**: 감사합니다! KOMORAN 관리도구 저장소에 [Pull Request](https://github.com/shineware/KOMORANAdmin/pulls)를 보내주세요. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
# KOMORAN 관리도구 | ||
|
||
## 소개 | ||
|
||
* KOMORAN 관리도구는 [한국어 형태소 분석기 KOMORAN](https://github.com/shin285/KOMORAN)의 사용을 돕기 위한 도구입니다. | ||
* KOMORAN의 사용자 모델을 만드는데 필요한 사전들을 관리하고, 해당 사전들이 적용된 사용자 모델을 만들고 적용 방법을 알 수 있습니다. | ||
|
||
## 주요 기능 | ||
|
||
### 메뉴 소개 | ||
|
||
KOMORAN 관리도구는 크게 4가지 기능을 제공하는 메뉴들로 구성되어 있습니다. | ||
|
||
* 분석 | ||
* KOMORAN 기본 모델(`LIGHT`)로 형태소 분석을 할 수 있습니다. | ||
* 보정 | ||
* 사용자 모델을 만드는데 필요한 사전들을 관리합니다. | ||
* 비교 | ||
* 사용자 모델을 생성하고, 기본 모델과 생성한 모델들 중 2가지를 선택하여 형태소 분석 결과를 비교할 수 있습니다. | ||
* 배포 | ||
* 사용자 모델을 생성 / 삭제할 수 있으며, 사용자 모델을 배포할 수 있는 방법을 안내합니다. | ||
|
||
### 화면 소개 | ||
|
||
각 메뉴들은 다음과 같은 화면들로 구성되어 있습니다. | ||
|
||
| 분석 메뉴 | 보정 메뉴 | | ||
| --------- | --------- | | ||
| ![분석 메뉴](https://raw.githubusercontent.com/shineware/KOMORANAdmin/master/src/main/resources/static/demo/ScreenShot01_Analyze.png) | ![보정 메뉴](https://raw.githubusercontent.com/shineware/KOMORANAdmin/master/src/main/resources/static/demo/ScreenShot02_ManageDict.png) | | ||
|
||
| 비교 메뉴 | 배포 메뉴 | | ||
| --------- | --------- | | ||
| ![비교 메뉴](https://raw.githubusercontent.com/shineware/KOMORANAdmin/master/src/main/resources/static/demo/ScreenShot03_CompareResults.png) | ![배포 메뉴](https://raw.githubusercontent.com/shineware/KOMORANAdmin/master/src/main/resources/static/demo/ScreenShot04_DeployModel.png) | | ||
|
||
## 설치 및 실행 | ||
|
||
### 필요 환경 | ||
|
||
* Java 1.8 이상 | ||
* `java -version` 명령어로 현재 버전을 확인할 수 있습니다. | ||
* Chrome 브라우저 | ||
* 최신 버전의 Safari, Firefox 등에서도 동작합니다. | ||
* KOMORAN 3.3.5 이상 | ||
* 별도로 설치하실 필요는 없습니다. | ||
* 단, 본 관리도구에서 생성한 사전 및 모델은 3.3.5 이상 버전에서 사용 가능합니다. | ||
|
||
### 설치 방법 | ||
|
||
* 아래와 같이 Git을 이용하여 KOMORAN 관리도구를 복제합니다. | ||
* 또는 [배포 메뉴](https://github.com/shineware/KOMORANAdmin/releases)에서 최신 소스코드를 다운로드 받을 수 있습니다. | ||
|
||
```sh | ||
git clone https://github.com/shineware/KOMORANAdmin | ||
``` | ||
|
||
### 실행 방법 | ||
|
||
* 위에서 복제 또는 다운로드받은 소스 코드가 위치하는 디렉토리로 이동합니다. | ||
|
||
```sh | ||
cd KOMORANAdmin | ||
``` | ||
|
||
* KOMORAN 관리도구를 실행합니다. | ||
* (처음 실행 시에는 필요한 라이브러리들을 내려받는데 다소 시간이 소요됩니다.) | ||
|
||
```sh | ||
# macOS 및 Linux 사용 시 아래와 같이 실행합니다. | ||
./gradlew bootRun | ||
# Windows 사용 시 아래와 같이 실행합니다. | ||
gradlew.bat bootRun | ||
# 실행이 완료되면 아래와 같은 메시지가 출력됩니다. | ||
# ##### KOMORAN Admin has just started. ##### | ||
``` | ||
|
||
* Chrome 브라우저를 열고 [http://localhost:3579/](http://localhost:3579/) 에 접속합니다. | ||
|
||
## 자주 묻는 질문과 답변 | ||
|
||
* [자주 묻는 질문과 답변](https://github.com/shineware/KOMORANAdmin/blob/master/FAQ.md) 문서를 참조해주세요. | ||
|
||
## 기여 | ||
|
||
* KOMORAN 관리도구와 관련한 소스 코드나 버그 리포트, 오타 수정 등 어떠한 기여도 환영합니다. | ||
* 저장소에 [이슈](https://github.com/shineware/KOMORANAdmin/issues)를 남겨주시거나, [Pull Request](https://github.com/shineware/KOMORANAdmin/pulls)를 보내주세요. | ||
* [KOMORAN Slack](https://komoran.slack.com/) 또한 열려있습니다. ([초대 링크](http://goo.gl/T1d3Ia)) | ||
* 단, 기여해주신 모든 내용은 [Apache License 2.0](https://github.com/shineware/KOMORANAdmin/blob/master/LICENSE)으로 공개되므로, 이에 동의하시는 경우에만 참여해주시기 바랍니다. | ||
|
||
## 라이선스 | ||
|
||
* KOMORAN 및 KOMORAN 관리도구는 [Apache License 2.0](https://github.com/shineware/KOMORANAdmin/blob/master/LICENSE)을 따릅니다. | ||
* 누구든 KOMORAN 관리도구의 일부 또는 전체를 개인적 또는 상업적 목적으로 사용할 수 있습니다. | ||
* SHINEWARE 및 이 저장소의 기여자(들)은 KOMORAN 관리도구를 사용하는 것에 대해 어떠한 권리도 주장하지 않습니다. | ||
* SHINEWARE 및 이 저장소의 기여자(들)은 KOMORAN 관리도구를 사용함에 따라 발생하는 어떠한 책임도 지지 않습니다. | ||
* 단, KOMORAN 관리도구에서 사용한 아래 라이브러리들은 각자의 라이선스를 따릅니다. | ||
* [Tabulator 3.5](https://github.com/olifolkerd/tabulator/blob/3.5/LICENSE) ([MIT License](https://opensource.org/licenses/MIT)) | ||
* [AdminLTE 2.4.2 및 이에 포함된 라이브러리들](https://adminlte.io/docs/2.4/license) ([MIT License](https://opensource.org/licenses/MIT)) | ||
* [Spring Boot 2.1.2 및 이에 포함된 라이브러리들](https://github.com/spring-projects/spring-boot/blob/2.1.x/LICENSE.txt) ([Apache License 2.0](https://opensource.org/licenses/Apache-2.0)) | ||
* [json-simple 1.1.1](https://code.google.com/archive/p/json-simple/) ([Apache License 2.0](https://opensource.org/licenses/Apache-2.0)) | ||
* [java-diff-utils 4.0](https://github.com/java-diff-utils/java-diff-utils/blob/java-diff-utils-4.0/LICENSE) ([Apache License 2.0](https://opensource.org/licenses/Apache-2.0)) | ||
* [Zip4j 2.1.3](https://github.com/srikanth-lingala/zip4j/blob/v2.1.3/LICENSE) ([Apache License 2.0](https://opensource.org/licenses/Apache-2.0)) | ||
* [Java Hamcrest 1.3](https://github.com/hamcrest/JavaHamcrest/blob/hamcrest-java-1.3/LICENSE.txt) ([BSD License](https://opensource.org/licenses/BSD-3-Clause)) | ||
* [H2 Database](https://www.h2database.com/html/license.html) ([Mozilla Public License 2.0](https://opensource.org/licenses/MPL-2.0) / [Eclipse Public License 1.0](https://opensource.org/licenses/eclipse-1.0.php)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
buildscript { | ||
ext { | ||
springBootVersion = '2.1.2.RELEASE' | ||
} | ||
repositories { | ||
mavenCentral() | ||
} | ||
dependencies { | ||
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") | ||
} | ||
} | ||
|
||
apply plugin: 'java' | ||
apply plugin: 'org.springframework.boot' | ||
apply plugin: 'io.spring.dependency-management' | ||
|
||
group = 'kr.co.shineware.nlp.komoran' | ||
version = '1.0.0-SNAPSHOT' | ||
sourceCompatibility = '1.8' | ||
|
||
compileJava.options.encoding = "UTF-8" | ||
compileTestJava.options.encoding = "UTF-8" | ||
|
||
configurations.all { | ||
resolutionStrategy.cacheChangingModulesFor 0, 'seconds' | ||
} | ||
|
||
repositories { | ||
mavenCentral() | ||
maven { url "https://jitpack.io" } | ||
} | ||
|
||
dependencies { | ||
// use latest KOMORAN | ||
compile 'com.github.shin285:KOMORAN:3.3.8' | ||
|
||
compile 'org.springframework.boot:spring-boot-starter-web' | ||
compile 'org.springframework.boot:spring-boot-starter-data-jpa' | ||
compile 'com.googlecode.json-simple:json-simple:1.1.1' | ||
|
||
// for morph results comparison | ||
compile 'io.github.java-diff-utils:java-diff-utils:4.0' | ||
|
||
// for Serving user model | ||
compile 'net.lingala.zip4j:zip4j:2.1.3' | ||
|
||
runtimeOnly 'com.h2database:h2' | ||
|
||
testCompile 'org.springframework.boot:spring-boot-starter-test' | ||
testCompile 'org.hamcrest:hamcrest-all:1.3' | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
org.gradle.jvmargs=-Dfile.encoding=UTF-8 | ||
systemProp.file.encoding=UTF-8 |
32 changes: 32 additions & 0 deletions
32
admin/src/main/java/kr/co/shineware/nlp/komoran/admin/KOMORANAdminApplication.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
package kr.co.shineware.nlp.komoran.admin; | ||
|
||
import org.slf4j.Logger; | ||
import org.slf4j.LoggerFactory; | ||
import org.springframework.boot.SpringApplication; | ||
import org.springframework.boot.autoconfigure.SpringBootApplication; | ||
import org.springframework.context.annotation.Bean; | ||
import org.springframework.core.task.TaskExecutor; | ||
import org.springframework.scheduling.annotation.EnableAsync; | ||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; | ||
|
||
@SpringBootApplication | ||
@EnableAsync | ||
public class KOMORANAdminApplication { | ||
private static final Logger logger = LoggerFactory.getLogger(KOMORANAdminApplication.class); | ||
|
||
public static void main(String[] args) { | ||
SpringApplication.run(KOMORANAdminApplication.class, args); | ||
logger.info("##### KOMORAN Admin has just started! #####"); | ||
} | ||
|
||
@Bean("threadPoolTaskExecutor") | ||
public TaskExecutor getAsyncExecutor() { | ||
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); | ||
executor.setCorePoolSize(20); | ||
executor.setMaxPoolSize(1000); | ||
executor.setWaitForTasksToCompleteOnShutdown(true); | ||
executor.setThreadNamePrefix("Async-"); | ||
|
||
return executor; | ||
} | ||
} |
18 changes: 18 additions & 0 deletions
18
admin/src/main/java/kr/co/shineware/nlp/komoran/admin/config/CustomH2Dialect.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
package kr.co.shineware.nlp.komoran.admin.config; | ||
|
||
import org.hibernate.dialect.H2Dialect; | ||
import org.hibernate.dialect.function.StandardSQLFunction; | ||
import org.hibernate.type.StringType; | ||
import org.slf4j.Logger; | ||
import org.slf4j.LoggerFactory; | ||
|
||
public class CustomH2Dialect extends H2Dialect { | ||
private static final Logger logger = LoggerFactory.getLogger(CustomH2Dialect.class); | ||
|
||
public CustomH2Dialect() { | ||
super(); | ||
this.registerFunction("GROUP_CONCAT", new StandardSQLFunction("group_concat", StringType.INSTANCE)); | ||
this.registerFunction("CONCAT", new StandardSQLFunction("concat", StringType.INSTANCE)); | ||
logger.debug("CustomFunctions have been registered"); | ||
} | ||
} |
Oops, something went wrong.