Study: DeveloperTools(DevTool)
[Elastic] Elasticsearch 데이터 타입: 정확한 데이터 타입으로 입력해야 분류, 연산, 검색 가능!
Elasticsearch 데이터 타입 이 문서 내의 데이터 타입의 경우, 미리 지정해 두어야 해당 데이터 타입으로 설정가능합니다. 만약에 해당 데이터 타입으로 선언해두지 않고 데이터를 받게 된다면? 기본적으로 설정되는 데이터 타입으로 자동으로 지정되며, 자동으로 설정된 인덱스의 경우 수정을 하려면 해당 필드를 삭제하거나 새로 인덱스를 생성하여 데이터를 이동해야하는 수고로움이 발생할 수 있으니 참고 부탁드립니다!! epoch_millis 시간 데이터 "field_name" : { "type" : "date", "format" : "yyyy-MM-dd HH:mm:ss||epoch_millis" } epoch_second 시간 데이터 "field_name" : { "type" : "date", "format"..
[Elastic] Elasticsearch 인덱스 생성 및 삭제: shards, replica, mapping...
인덱스 생성 1. 인덱스 생성: 샤드, 레플리카 설정 1.1 인덱스 생성: shards=3, replicas=2 PUT /$index { "settings": { "index": { "number_of_shards": 3, "number_of_replicas": 2 } } } shards 개수는 생성 이후 변경 불가능하고 replicas 개수는 변경 가능합니다. 1.2 인덱스 생성: default shards, replicas // default shards: 1, replicas: 0 PUT /$index 2. 인덱스 생성: 스키마(mapping) 생성 + 샤드, 레플리카 2.1 스키마리스(schemaless) Elastic Search는 RDB 처럼 데이터를 insert하였을 때 테이블이 없다면데이터..
[Git] Github 쓰다가 생기는 골치 아픈 문제들... 해결책 포함.
Intro 앞서 [Git] 왜 Git을 사용할까?를 보고 왔다면 왜 Git을 사용해야하는지 이해했을 것입니다. 그리고 [Git] Git-Workflow, git 흐름을 살펴보자! 로 Git의 역할까지 파악하고, [Git] Github 설치, 기본 세팅 및 간단 사용법로 기본적인 사용법까지 익혔다면? Git 기본적인 사용에 있어서 문제될 것이 없을 것입니다. 그런데... Git을 사용하다가 실수를 저질러 다음과 같은 예기치 못한 상황이 발생한다면? 뭔가 단단히 잘못됐는데, 다 뒤엎고 예전으로 돌리고 싶어! 방금 커밋했는데 하나 깜빡한 걸 발견했어! 커밋 메세지를 잘못 썼어! 커밋 하나로 뭉칠레! 다른 브랜치에 커밋해야 하는 걸 실수로 master에 커밋해 버렸어! 실수로 이상한 브랜치에 커밋을 해버렸어! ..
[Elastic] Elasticsearch 구문 검색: 기본 Query 정리(Elastic Query DSL)
Query DSL( Domain Specific Language ) json 포맷으로 query를 만들어서 검색을 해보는 Query DSL에 대해 알아보겠습니다. 물론 SQL 문으로 검색할수도 있지만, elastic에서는 검색할 때 대부분 Query DSL을 사용하므로 이 방법을 익혀두는 것이 좋습니다. 앞으로 소개 할 query 절은 Query Context 또는 Filter Context에서 사용되는지 여부에 따라 다르게 동작합니다. Query Context: "해당 document가 query 절과 얼마나 잘 일치하는가?"라는 질문에 응답하는데, document가 얼마나 잘 일치하는지를 _score( 관련성 점수, relevance score )로 표현합니다. Filter Context: "해당 d..
[Elastic] Elasticsearch 구문 검색: 원하는 데이터를 삭제하자
Elasticsearch에서 원하는 데이터 삭제하기 POST 인덱스명/타입명/_delete_by_query e.g. 인덱스: test, 타입: _doc인 document 내용(json 데이터)를 모두 삭제 POST test/_doc/_delete_by_query { "query": { "match_all": {} } } e.g. 인덱스: test, 타입: _doc인 document 내용(json 데이터) 중 "data"라는 필드가 없는 데이터를 삭제 POST test/_doc/_delete_by_query { "query": { "bool": { "must_not": [ { "exists": { "field": "data" } } ] } } } + 특정 필드가 존재하는 인덱스를 추출하는 쿼리 GET te..