반응형
Recent Posts
Recent Comments
관리 메뉴

개발잡부

[es8] plugin 본문

ElasticStack8/Elasticsearch

[es8] plugin

닉의네임 2022. 9. 14. 21:42
반응형

elasticsearch 버전 8.4.1에 맞춰 플러그인을 변경해 보잣

지난번에 할땐 안되던것이 지금은 또 되네..;;

 

https://github.com/900gle/kr-danalyzer/tree/8.4.1

 

GitHub - 900gle/kr-danalyzer: doo analyzer for korean

doo analyzer for korean. Contribute to 900gle/kr-danalyzer development by creating an account on GitHub.

github.com

branch 7.15.1, 8.4.1 2개를 만들었는데.. 이렇게 관리하려고 하니까 PR 하라고 메시지가 나와서 귀찮..

 

docker compose 를 활용해서 elastic stack 8.4.1 을 실행 ( elasticsearch + kibana )

https://ldh-6019.tistory.com/377?category=1096347 

 

[es] 900gle ELK8 for docker compose

https://github.com/900gle/900gle-elk GitHub - 900gle/900gle-elk Contribute to 900gle/900gle-elk development by creating an account on GitHub. github.com 여윽시 난 조빱이였어 누군가는 8.4.1 만들어서..

ldh-6019.tistory.com

 

local project kr-dnalyzer 경로로 이동 

#project 경로로 이동
cd /Users/doo/project/kr-danalyzer

#maven build
mvn clean install

 

/Users/doo/project/kr-danalyzer/target/releases

하위의 kr-danalyzer-8.4.1.zip 파일을 /Users/doo/docker/900gle-elk/elasticsearch/plugin 로 이동 

 

kr-dnalyzer 를 설치 한 후  

PUT 900gle
{
  "settings": {
    "number_of_replicas": 0,
    "number_of_shards": 1, 
    "analysis": {
      "analyzer": {
        "nori_analyzer": {
          "tokenizer": "nori_tokenizer"
        },
        "jamo_analyzer": {
          "type": "custom",
          "tokenizer": "whitespace",
          "filter": [
            "lowercase",
            "stop",
            "snowball",
            "doo-jamo"
          ]
        },
        "chosung_analyzer": {
          "type": "custom",
          "tokenizer": "whitespace",
          "filter": [
            "lowercase",
            "stop",
            "snowball",
            "doo-chosung"
          ]
        },
        "eng2kor_analyzer": {
          "type": "custom",
          "tokenizer": "whitespace",
          "filter": [
            "lowercase",
            "stop",
            "snowball",
            "doo-eng2kor"
          ]
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "message": {
        "type": "text",
        "fields": {
          "jamo": {
            "type": "text",
            "analyzer": "jamo_analyzer"
          },
          "chosung": {
            "type": "text",
            "analyzer": "chosung_analyzer"
          },
          "nori": {
            "type": "text",
            "analyzer": "nori_analyzer"
          },
          "eng2kor": {
            "type": "text",
            "analyzer": "eng2kor_analyzer"
          }
        }
      }
    }
  }
}
PUT 900gle/_doc/1
{
  "message" : "900gle shopping은google 짝퉁 쇼핑몰 토이프로젝트 라이센스는 doo가 가지고 있음"
}
GET 900gle/_termvectors/1?fields=message​

jamo token filter 확인 

GET 900gle/_termvectors/1?fields=message.jamo
{
  "_index": "900gle",
  "_id": "1",
  "_version": 1,
  "found": true,
  "took": 0,
  "term_vectors": {
    "message.jamo": {
      "field_statistics": {
        "sum_doc_freq": 9,
        "doc_count": 1,
        "sum_ttf": 9
      },
      "terms": {
        "900gle": {
          "term_freq": 1,
          "tokens": [
            {
              "position": 0,
              "start_offset": 0,
              "end_offset": 6
            }
          ]
        },
        "dooㄱㅏ": {
          "term_freq": 1,
          "tokens": [
            {
              "position": 6,
              "start_offset": 43,
              "end_offset": 47
            }
          ]
        },
        "shoppingㅇㅡㄴgoogl": {
          "term_freq": 1,
          "tokens": [
            {
              "position": 1,
              "start_offset": 7,
              "end_offset": 22
            }
          ]
        },
        "ㄱㅏㅈㅣㄱㅗ": {
          "term_freq": 1,
          "tokens": [
            {
              "position": 7,
              "start_offset": 48,
              "end_offset": 51
            }
          ]
        },
        "ㄹㅏㅇㅣㅅㅔㄴㅅㅡㄴㅡㄴ": {
          "term_freq": 1,
          "tokens": [
            {
              "position": 5,
              "start_offset": 37,
              "end_offset": 42
            }
          ]
        },
        "ㅅㅛㅍㅣㅇㅁㅗㄹ": {
          "term_freq": 1,
          "tokens": [
            {
              "position": 3,
              "start_offset": 26,
              "end_offset": 29
            }
          ]
        },
        "ㅇㅣㅆㅇㅡㅁ": {
          "term_freq": 1,
          "tokens": [
            {
              "position": 8,
              "start_offset": 52,
              "end_offset": 54
            }
          ]
        },
        "ㅉㅏㄱㅌㅜㅇ": {
          "term_freq": 1,
          "tokens": [
            {
              "position": 2,
              "start_offset": 23,
              "end_offset": 25
            }
          ]
        },
        "ㅌㅗㅇㅣㅍㅡㄹㅗㅈㅔㄱㅌㅡ": {
          "term_freq": 1,
          "tokens": [
            {
              "position": 4,
              "start_offset": 30,
              "end_offset": 36
            }
          ]
        }
      }
    }
  }
}
반응형

'ElasticStack8 > Elasticsearch' 카테고리의 다른 글

[es8] korean analyzer-doori  (0) 2022.09.25
[es8] elasticsearch8.4.1 rest plugin for 900gle  (0) 2022.09.24
[es8] Elasticsearch Plugin 8.4.1  (0) 2022.09.24
[es8] payload-score 8.4.1 gradle  (0) 2022.09.17
[es8] 정밀도와 재현율  (0) 2022.09.12
Comments