Elasticsearch 시도해 보았습니다.
5817 단어 초보자Elasticsearch
환경
Windows10
다운로드
Elasticsearch와 Kibana는 사전에 다음에서 다운로드하여 압축을 풉니다.
htps //w w. 에 s c. 코 / jp / s rt
시작
각각 이하를 더블 클릭으로 기동할 수 있다.
C:\~~\elasticsearch-7.10.0-windows-x86_64\elasticsearch-7.10.0\bin\elasticsearch.bat
C:\~~\kibana-7.10.0-windows-x86_64\bin\kibana.bat
연결 확인
이하 URL로 접속할 수 있으면, 기동 성공!
http://localhost:9200/
⇒
cluster_name
라든지 version
라든지 쓰고 있는 JSON이 표시될 것Kibana로 만져보세요
Kibana
Dev Tools
에서 작성해 보자.↓이런 느낌의 화면에서, 왼쪽에 query를 기술해 실행하면, 우측에 리스폰스가 표시된다.
query 화면의 맨 오른쪽의
▷
로 실행할 수 있다. (실행 대상 행을 선택하고 ctrl
+ Enter
에서도 실행 가능)색인 생성
인덱스는 DB에서 말하는 데이터베이스와 같은 것···?
test_index
라는 인덱스를 만들어 보자.PUT test_index
만들 수 있는지 확인.
GET _cat/indices?v
보충
yellow open test_index lBZ1wx4vQyKcU8danKLkRQ 1 1 0 0 208b 208b
health
하지만 yellow
입니다만, 이것은 복제본 (복제)을 작성할 수 없기 때문입니다.데이터가 파손되었을 때 등이나 부하 분산에 사용되는 레플리카는, 디폴트로 1개 준비하도록 설정되어 있다.
(복제는 별도의 노드에 만들어야 함)
로컬 환경은 데이터 노드는 1대이므로, 복제본을 작성할 수 없어-의 yellow 상태.
그대로 문제 없지만, 아무래도
green
로 하고 싶은 경우는, 일단 인덱스를 삭제해 복제본 1대로 index를 재작성하면 OK.#インデックス削除
DELETE test_index
#レプリカ数0でインデックス再作成
PUT test_index
{
"settings": {
"number_of_replicas": 0
}
}
#設定確認(test_index.settings.number_of_replicasが0になっていること)
GET test_index/_settings
유형 작성
DB로 말하는 테이블과 같은 것···?
↓에서 타입을 정의하려고했지만,
POST test_index/test_type/
{
"mappings" : {
"qq" : {
"properties" : {
"id" : {
"type" : "integer"
},
"name" : {
"type" : "string"
}
}
}
}
}
_#! Deprecation: [types removal] Specifying types in document index requests is deprecated, use the typeless endpoints instead (/{index}/_doc/{id},/{index}/_doc, or/{index}/_create/{id}).
어느새 비추천이 되었으므로
test_index/_doc
로 등록해 봅니다.POST test_index/_doc
{
"test_id": 1,
"test_name": "てすとねーむ"
}
등록할 수 있었으므로,
mapping
를 확인.GET test_index/_mapping
#GET test_index/_mapping 実行結果
{
"test_index" : {
"mappings" : {
"properties" : {
"test_id" : {
"type" : "long"
},
"test_name" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
}
}
}
}
}
방금 전의 데이터는 다음과 같은 정의로 작성되었습니다.
(정의하지 않아도 데이터 등록 가능한 점은 변하지 않고,
type
라는 개념이 없어지는 것 같네요.)인덱스를 만들 때
mapping
(DB에서 말하는 CREATE TABLE
?) 지정을 지정하려면 아래에서 OK! 해야합니다. . .PUT test_index2
{
"settings": {
"number_of_replicas": 0 // レプリカ数指定
},
"mappings": {
"properties": {
"test_id": { // test_id フィールド
"type":"integer"
},
"test_name": { // test_nameフィールド
"type": "keyword"
}
}
}
}
또,
mapping
는 추가는 가능합니다만, 삭제·변경은 할 수 없습니다.# NG
# 既存フィールド(test_id)のtypeをinteger→long
PUT test_index2/_mapping
{
"properties": {
"test_id": {
"type": "long"
}
}
}
# OK
# new_field追加(元々あったフィールドは残る)
PUT test_index/_mapping
{
"properties": {
"new_field": {
"type": "text"
}
}
}
소감
Elasticsearch
를 실제로 업무로 사용하고 있던 것은 약 1년 반 정도 전이므로, 기억이 희미해져서 수색이었습니다.여러가지 변화하고 있는 점도 있으므로, 공식 문서 다시 한번 은근하게 읽어 보겠습니다.
Elasticsearch
는 공식 사이트에 꽤 상세한 설명이 실려 있으므로 추천합니다.htps //w w. 에 s c. 코/구이데/jp/에아 s 치c세아 rch/레후에렌세/쿤 t/이여 x. HTML
Reference
이 문제에 관하여(Elasticsearch 시도해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yoneko/items/1f567cdbae20611e3451텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)