Giter Site home page Giter Site logo

open-korean-text / elasticsearch-analysis-openkoreantext Goto Github PK

View Code? Open in Web Editor NEW
126.0 16.0 22.0 13.43 MB

Korean analysis plugin that integrates open-korean-text module into elasticsearch.

License: Apache License 2.0

Java 100.00%
elasticsearch analyzer elasticsearch-analyzer korean korean-analysis korean-tokenizer korean-text-processing hacktoberfest

elasticsearch-analysis-openkoreantext's Introduction

elasticsearch-analysis-openkoreantext

Build Status

한국어(한글)를 처리하는 Elasticsearch analyzer입니다. open-korean-text 한국어 처리엔진으로 작성되었습니다.

Korean analysis plugin that integrates open-korean-text module into Elasticsearch.

Elasticsearch 4.x 이하의 버전은 지원하지 않습니다.

Install

$ cd ${ES_HOME}
$ bin/elasticsearch-plugin install {download URL}

설치 후 bin/elasticsearch 실행 시, loaded plugin [elasticsearch-analysis-openkoreantext] 라는 로그가 출력되는지 확인합니다.

download URL 은 아래 Compatible Versions를 참고하여 Elasticsearch 버젼에 맞는 Plugin 버젼을 다운로드 받아야합니다.

Example

Input

curl -X POST 'http://localhost:9200/_analyze' -d '{
  "analyzer": "openkoreantext-analyzer",
  "text": "한국어를 처리하는 예시입니닼ㅋㅋ"
}'

Output

{
  "tokens": [
    {
      "token": "한국어",
      "start_offset": 0,
      "end_offset": 3,
      "type": "Noun",
      "position": 0
    },
    {
      "token": "처리",
      "start_offset": 5,
      "end_offset": 7,
      "type": "Noun",
      "position": 1
    },
    {
      "token": "하다",
      "start_offset": 7,
      "end_offset": 9,
      "type": "Verb",
      "position": 2
    },
    {
      "token": "예시",
      "start_offset": 10,
      "end_offset": 12,
      "type": "Noun",
      "position": 3
    },
    {
      "token": "이다",
      "start_offset": 12,
      "end_offset": 15,
      "type": "Adjective",
      "position": 4
    },
    {
      "token": "ㅋㅋ",
      "start_offset": 15,
      "end_offset": 17,
      "type": "KoreanParticle",
      "position": 5
    }
  ]
}

Elasticsearch의 default analyzer를 사용했을 경우

{
  "tokens": [
    {
      "token": "한국어를",
      "start_offset": 0,
      "end_offset": 4,
      "type": "<HANGUL>",
      "position": 0
    },
    {
      "token": "처리하는",
      "start_offset": 5,
      "end_offset": 9,
      "type": "<HANGUL>",
      "position": 1
    },
    {
      "token": "예시입니닼ㅋㅋ",
      "start_offset": 10,
      "end_offset": 17,
      "type": "<HANGUL>",
      "position": 2
    }
  ]
}

실제 사용 방법은 Elasicsearch analysis를 참고하세요.

User Dictionary

기본사전 이외에 사용자가 원하는 단어를 추가하여 사용할 수 있습니다. 예를들어 말썽쟁이를 분석하면 말썽(Noun)쟁이(suffix)로 추출되지만, 사전에 말썽쟁이를 추가하면 말썽쟁이(Noun)로 추출할 수 있습니다.

Analyzer Plugin을 설치하면 {ES_HOME}/plugins/elasticserach-analysis-openkoreantext 위치에 dic/ 디렉토리를 찾을 수 있습니다. 해당 디렉토리 안에 사전 텍스트 파일을 추가하면 됩니다.

사전 텍스트 파일은 각 단어들을 줄바꿈하여 넣으면 됩니다. (단, 띄워쓰기는 단어로 인식하지 않습니다.)

# {ES_HOME}/plugins/elasticserach-analysis-openkoreantext/dic/sampledictionary
말썽쟁이
뚜쟁이
욕쟁이할머니
...

Components

이 Analyzer는 몇 가지 components로 구성되어 있습니다.

Charater Filter

  • openkoreantext-normalizer
    • 구어체를 표준화 합니다.

    훌쩍훌쩍훌쩍훌쩍 -> 훌쩍훌쩍, 하겟다 -> 하겠다, 안됔ㅋㅋㅋ -> 안돼ㅋㅋ

Tokenizer

  • openkoreantext-tokenizer
    • 문장을 토큰화 합니다.

    한국어를 처리하는 예시입니다 ㅋㅋ -> [한국어, 를, 처리, 하는, 예시, 입니다, ㅋㅋ]

Token Filter

  • openkoreantext-stemmer  * 형용사와 동사를 스테밍합니다.

    새로운 스테밍을 추가했었다. -> [새롭다, 스테밍, 을, 추가하다, .]

  • openkoreantext-redundant-filter

    • 접속사, 공백(띄워쓰기), 조사, 마침표 등을 제거합니다.

    그리고 이것은 예시, 또는 예로써, 한국어를 처리하기 -> [예시, 예, 한국어, 처리, 하다]

  • openkoreantext-phrase-extractor

    • 어구를 추출합니다.

    한국어를 처리하는 예시입니다 ㅋㅋ -> [한국어, 처리, 예시, 처리하는 예시]

Analyzer

[openkoreantext-normalizer] -> [openkoreantext-tokenizer] -> [openkoreantext-stemmer, openkoreantext-redundant-filter, classic, length, lowercase]

  • 이 analyzer에는 openkoreantext-phrase-extractor가 기본 token filter로 적용되어있지 않습니다.
  • custom analyzer 구성을 원하시면 custom analyzer를 참고하세요.

Compatible Versions

Elasticsearch open-korean-text Download URL
6.1.1 2.1.0 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/6.1.1/elasticsearch-analysis-openkoreantext-6.1.1.2-plugin.zip
6.1.0 2.1.0 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/6.1.1/elasticsearch-analysis-openkoreantext-6.1.0.2-plugin.zip
6.0.0 2.1.0 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/6.0.0.2/elasticsearch-analysis-openkoreantext-6.0.0.2-plugin.zip
5.6.5 2.1.0 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/6.1.1/elasticsearch-analysis-openkoreantext-5.6.5.2-plugin.zip
5.6.4 2.1.0 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/5.6.4.2/elasticsearch-analysis-openkoreantext-5.6.4.2-plugin.zip
5.6.3 2.1.0 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/5.6.4.2/elasticsearch-analysis-openkoreantext-5.6.3.2-plugin.zip
5.6.2 2.1.0 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/v5.6.x/elasticsearch-analysis-openkoreantext-5.6.2.2-plugin.zip
5.6.1 2.1.0 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/v5.6.x/elasticsearch-analysis-openkoreantext-5.6.1.2-plugin.zip
5.6.0 2.1.0 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/v5.6.x/elasticsearch-analysis-openkoreantext-5.6.0.2-plugin.zip
5.5.2 2.1.0 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/5.5.2.2/elasticsearch-analysis-openkoreantext-5.5.2.2-plugin.zip
5.5.1 2.1.0 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/5.5.1.2.1/elasticsearch-analysis-openkoreantext-5.5.1.2-plugin.zip
5.5.0 2.0.1 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/5.5.0.2/elasticsearch-analysis-openkoreantext-5.5.0.2-plugin.zip
5.4.3 2.0.1 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/5.4.2.2/elasticsearch-analysis-openkoreantext-5.4.3.2-plugin.zip
5.4.2 2.0.1 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/5.4.2.2/elasticsearch-analysis-openkoreantext-5.4.2.2-plugin.zip
5.4.1 2.0.1 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/5.4.1.2/elasticsearch-analysis-openkoreantext-5.4.1.2-plugin.zip
5.4.0 2.0.1 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/5.4.0.2/elasticsearch-analysis-openkoreantext-5.4.0.2-plugin.zip
5.3.2 2.0.1 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/5.4.0.2/elasticsearch-analysis-openkoreantext-5.3.2.2-plugin.zip
5.3.1 2.0.1 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/5.4.0.2/elasticsearch-analysis-openkoreantext-5.3.1.2-plugin.zip
5.3.0 2.0.1 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/5.4.0.2/elasticsearch-analysis-openkoreantext-5.3.0.2-plugin.zip
5.2.2 2.0.1 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/5.4.0.2/elasticsearch-analysis-openkoreantext-5.2.2.2-plugin.zip
5.2.1 2.0.1 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/5.4.0.2/elasticsearch-analysis-openkoreantext-5.2.1.2-plugin.zip
5.1.2 2.0.1 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/5.4.0.2/elasticsearch-analysis-openkoreantext-5.1.2.2-plugin.zip
5.1.1 2.0.1 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/5.4.0.2/elasticsearch-analysis-openkoreantext-5.1.1.2-plugin.zip
5.1.0 2.0.1 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/5.4.0.2/elasticsearch-analysis-openkoreantext-5.1.0.2-plugin.zip
5.0.2 2.0.1 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/5.4.0.2/elasticsearch-analysis-openkoreantext-5.0.2.2-plugin.zip
5.0.1 2.0.1 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/5.4.0.2/elasticsearch-analysis-openkoreantext-5.0.1.2-plugin.zip
5.0.0 2.0.1 https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext/releases/download/5.4.0.2/elasticsearch-analysis-openkoreantext-5.0.0.2-plugin.zip

License

Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0

elasticsearch-analysis-openkoreantext's People

Contributors

groupbydmitry avatar keepcosmos avatar nurfgun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

elasticsearch-analysis-openkoreantext's Issues

오타가 있습니다

readme에도 같은 오타가 있습니다.

그리고 커스텀 빌드할경우

/build/distributions 에 zip 파일을 사용하는게 맞는거죠?

custom analyzer 적용에 대한 질문입니다.

analyzer 테스트를 위해서 readme에 있는 내용대로 필터를 적용했습니다.
kibana에서 다음의 명령으로 테스트를 진행했습니다.

POST openpedia/_analyze
{
  "char_filter" : ["openkoreantext-normalizer"],
  "tokenizer": "openkoreantext-tokenizer",
  "filter":  [ "openkoreantext-stemmer", "openkoreantext-redundant-filter", "classic-filter", "length-filter", "lowcase" ],
  "text":"아버지가방에들어가신다."
}

classic-filter, length-filer,lowcase를 찾을 수 없다고 나옵니다.

"classic", "length", "lowercase" 로 지정하니 동작합니다.

플러그인 내부에서 사용하는 필터명과 커스텀 분석기 적용시의 필터명이 다른가요?

How can I use this for elastic search version 2.3.4

When using this on elasticsearch 2.3.4 version, I m getting the below error for tokenizer query
PUT openkorean_sample/_settings
{
"settings": {
"index": {
"analysis": {
"analyzer": {
"my_icu_analyzer": {
"tokenizer": "openkoreantext-tokenizer"
}
}
}
}
}
}

POST /openkorean_sample/_analyze
{
"analyzer": "my_icu_analyzer",
"text" : "한국어를 처리하는 예시입니닼ㅋㅋ"
}

Error :
{
"error": {
"root_cause": [
{
"type": "no_shard_available_action_exception",
"reason": "No shard available for [org.elasticsearch.action.admin.indices.analyze.AnalyzeRequest@164c06a8]"
}
],
"type": "no_shard_available_action_exception",
"reason": "No shard available for [org.elasticsearch.action.admin.indices.analyze.AnalyzeRequest@164c06a8]"
},
"status": 503
}

open korean text에서 user-dic문의

user-dic에서 Noun외의 Verb같은 사전도 추가 가능 한지 궁금합니다
또한 색인시 Noun과 Verb과 같은 type을 구분하여 색인 가능 한지도 문의 드립니다.
open-korean-text-2.1.0.jar의 내부 util에 사전 파일을 바꿔도 업데이트가 안되는 것 같은데
내부 default 사전은 어느 사전을 사용하고 있는지 궁금합니다

Publish Plugin to Maven Repository

Currently it's extremely difficult to include the plugin in a maven project.

Would you be able to publish this to maven repository in addition to github?

Currently we include other plugins published on maven in our project through this format:

open-korean-text:elasticssearch-analysis-openkoreantext:${elasticsearch.version}.2

Which bin/elasticsearch-plugin install will look at maven for.

7.x 플러그인 공식 지원부탁드립니다

매 버전별로는 힘들더라도, 메이져 버젼업데이트에 따른 플러그인 공식 제공을 필요할것 같습니다.
7.x 버전 지원에 관하여 의견이 궁굼합니다

array 형태의 텍스트 입력시 나오는 토큰의 오프셋 질문 드립니다.

안녕하세요, open-korean-text를 사용하여 ES에 데이터 인덱싱을 하려고하는데,
array 형태의 데이터 입력시 offset 문제로 인덱싱이 되지 않아 질문 드립니다.

인덱싱 할 텍스트가
["동해물과 백두산이", "마르고 닳도록"]
위와 같은 형태일 경우

open-korean-text 사용시 생기는 토큰의 오프셋은 인덱스가 바뀔 때 마다 초기화가 되고,
ES에서 제공하는 기본 analyzer 사용시에는 array내의 모든 string이 순서대로 오프셋이 정해지는데요,

ES에 데이터를 인덱싱 할 경우 한 필드 내에서는 offest이 다시 뒤로가는 경우가 생기면 인덱싱이 되지 않으며 warning이 발생합니다.

이 이슈 수정 요청 드려도 될까요?
분석결과는 아래 참고 부탁드립니다.

open-korean-text 사용시

{
  "tokens" : [
    {
      "token" : "동",
      "start_offset" : 0,
      "end_offset" : 1,
      "type" : "Modifier",
      "position" : 0
    },
    {
      "token" : "해물",
      "start_offset" : 1,
      "end_offset" : 3,
      "type" : "Noun",
      "position" : 1
    },
    {
      "token" : "백두산",
      "start_offset" : 5,
      "end_offset" : 8,
      "type" : "Noun",
      "position" : 2
    },
    {
      "token" : "마르고",
      "start_offset" : 1,
      "end_offset" : 4,
      "type" : "Noun",
      "position" : 103
    },
    {
      "token" : "닳다",
      "start_offset" : 5,
      "end_offset" : 8,
      "type" : "Verb",
      "position" : 104
    }
  ]
}

ES에서 제공하는 기본 analyzer 사용시

{
  "tokens" : [
    {
      "token" : "동해물과",
      "start_offset" : 0,
      "end_offset" : 4,
      "type" : "<HANGUL>",
      "position" : 0
    },
    {
      "token" : "백두산이",
      "start_offset" : 5,
      "end_offset" : 9,
      "type" : "<HANGUL>",
      "position" : 1
    },
    {
      "token" : "마르고",
      "start_offset" : 10,
      "end_offset" : 13,
      "type" : "<HANGUL>",
      "position" : 102
    },
    {
      "token" : "닳도록",
      "start_offset" : 14,
      "end_offset" : 17,
      "type" : "<HANGUL>",
      "position" : 103
    }
  ]
}

오타가 있습니다.

'descriptor' 에

'name': 'elasticserach-analysis-openkoreantext'

elasticsearch 인데 elasticserach로 되어 있네요.

그리고 5.4.1 버전대응은 build.gradle 의 버전명만 올려서 빌드 해서 사용하면 되는건가요?

es 5.5.0 이 배포 되었습니다.

버전만 바꿔서 빌드 해보니 test에서 걸리네요.

뭔가 바뀐것이 있는듯 합니다.

아..그리고 open-korean-text 도 2.0.4로 버전이 올라갔네요 ^^

엘라스틱 버전 5.5.1에서 실행 실행이 안됩니다

{ "name": "dwkim02", "cluster_name": "elasticsearch", "cluster_uuid": "44NEWUJLRT-9EKGDLkh5pg", "version": { "number": "5.5.1", "build_hash": "19c13d0", "build_date": "2017-07-18T20:44:24.823Z", "build_snapshot": false, "lucene_version": "6.6.0" }, "tagline": "You Know, for Search" }

엘라스틱서치는 5.5.1 버전을 쓰고 있고 openkoreantext 2.1.0 버전입니다.

curl -X POST 'http://localhost:9200/_analyze' -d '{ "analyzer": "openkoreantext-analyzer", "text": "한국어를 처리하는 예시입니닼ㅋㅋ" }'

를 실행하여 테스트를 진행하면 다음과 같은 에러가 발생합니다...

어떤게 원인인지 알 수 있을까요?

[2017-08-04T17:42:26,857][ERROR][o.e.b.ElasticsearchUncaughtExceptionHandler] [dwkim02] fatal error in thread [elasticsearch[dwkim 02][index][T#2]], exiting java.lang.ExceptionInInitializerError: null at org.elasticsearch.index.analysis.OpenKoreanTextAnalyzerProvider.<init>(OpenKoreanTextAnalyzerProvider.java:16) ~[?:?] at org.elasticsearch.indices.analysis.AnalysisModule$AnalysisProvider.get(AnalysisModule.java:395) ~[elasticsearch-5.5.1.j ar:5.5.1] at org.elasticsearch.index.analysis.AnalysisRegistry.lambda$getAnalyzer$0(AnalysisRegistry.java:130) ~[elasticsearch-5.5.1 .jar:5.5.1] at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660) ~[?:1.8.0_141] at org.elasticsearch.index.analysis.AnalysisRegistry.getAnalyzer(AnalysisRegistry.java:128) ~[elasticsearch-5.5.1.jar:5.5. 1] at org.elasticsearch.action.admin.indices.analyze.TransportAnalyzeAction.analyze(TransportAnalyzeAction.java:169) ~[elasti csearch-5.5.1.jar:5.5.1] at org.elasticsearch.action.admin.indices.analyze.TransportAnalyzeAction.shardOperation(TransportAnalyzeAction.java:157) ~ [elasticsearch-5.5.1.jar:5.5.1] at org.elasticsearch.action.admin.indices.analyze.TransportAnalyzeAction.shardOperation(TransportAnalyzeAction.java:77) ~[ elasticsearch-5.5.1.jar:5.5.1] at org.elasticsearch.action.support.single.shard.TransportSingleShardAction$ShardTransportHandler.messageReceived(Transpor tSingleShardAction.java:294) ~[elasticsearch-5.5.1.jar:5.5.1] at org.elasticsearch.action.support.single.shard.TransportSingleShardAction$ShardTransportHandler.messageReceived(Transpor tSingleShardAction.java:287) ~[elasticsearch-5.5.1.jar:5.5.1] at org.elasticsearch.transport.TransportRequestHandler.messageReceived(TransportRequestHandler.java:33) ~[elasticsearch-5. 5.1.jar:5.5.1] at org.elasticsearch.transport.RequestHandlerRegistry.processMessageReceived(RequestHandlerRegistry.java:69) ~[elasticsear ch-5.5.1.jar:5.5.1] at org.elasticsearch.transport.TransportService$7.doRun(TransportService.java:644) ~[elasticsearch-5.5.1.jar:5.5.1] at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:638) ~[elasticsearch-5.5.1.jar:5.5.1] at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-5.5.1.jar:5.5.1 ] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_141] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_141] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_141] Caused by: java.security.AccessControlException: access denied ("java.io.FilePermission" "C:\Program%20Files\Elastic\Elasticsearch \plugins\elasticsearch-analysis-openkoreantext\dic" "read") at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472) ~[?:1.8.0_141] at java.security.AccessController.checkPermission(AccessController.java:884) ~[?:1.8.0_141] at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) ~[?:1.8.0_141] at java.lang.SecurityManager.checkRead(SecurityManager.java:888) ~[?:1.8.0_141] at java.io.File.isDirectory(File.java:844) ~[?:1.8.0_141] at org.apache.lucene.analysis.ko.UserDictionaryLoader.<clinit>(UserDictionaryLoader.java:30) ~[?:?] ... 18 more

사용자 사전에 단어 추가 후 기존 인덱스 검색 문제

사용자 사전 sample-dictionary 파일에
단어를 추가 후

elasticsearch 를 재시작 하였으나
기존 인덱스에서 검색을 해보니
해당 단어 형태소 분석이 되지 않습니다.

기존 인덱스를 다시 인덱싱 하지 않고
추가한 단어 형태소 분석 적용하는 방법은 없는지요?

디폴트 애널라이저로 설정하는 방법도 설명에 좀 추가해주세요

디폴트 애널라이저로 설정하는 방법도 설명에 좀 추가해주세요.

curl -XPUT http://localhost:9200/my_index?pretty -d '{
  "settings": {
    "analysis": {
      "analyzer": {
        "default": {
          "type": "custom",
          "tokenizer": "openkoreantext-tokenizer",
          "char_filter": "openkoreantext-normalizer",
          "filter": [
             "openkoreantext-stemmer",
             "openkoreantext-redundant-filter",
             "openkoreantext-phrase-extractor"
          ]
        }
      }
    }
  }
}'

이런 식으로 해야 하는 거 맞죠?
이렇게 해서,

curl -XGET http://localhost:9200/my_index/_analyze?pretty -d "한국어를 처리하는 예시입니닼ㅋㅋ"
=>
{
  "tokens" : [
    {
      "token" : "한국어처리",
      "start_offset" : 0,
      "end_offset" : 5,
      "type" : "Noun",
      "position" : 0
    },
    {
      "token" : "예시",
      "start_offset" : 10,
      "end_offset" : 12,
      "type" : "Noun",
      "position" : 1
    },
    {
      "token" : "한국어",
      "start_offset" : 0,
      "end_offset" : 3,
      "type" : "Noun",
      "position" : 2
    },
    {
      "token" : "처리",
      "start_offset" : 5,
      "end_offset" : 7,
      "type" : "Noun",
      "position" : 3
    }
  ]
}

이렇게 나오는 건 확인했는데, 한참 헤맸습니다 ㅠㅠ

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.