POST sec/_delete_by_query { "size": 1, "query": { "range": { "systemtime": { "from": null, "to": "2022-01-16 00:00:00", "include_lower": true, "include_upper": true, "format": "yyyy-MM-dd HH:mm:ss", "boost": 1 } } }, "_source": false } 결과 이렇듯 ElasticSearch에서는 delete 쿼리를 날릴때 size가 설정되어있다고하여 size 개수만큼만 삭제되는게 아니다. size는 무시해도된다.
get 요청에서 _mapping 명령어 사용시 각 필드의 데이터 타입이 무엇인지 확인 할 수 있다. GET camo_system_logs/_mapping { } { "camo_system_logs" : { "mappings" : { "properties" : { "cluster" : { "type" : "text", "fields" : { "keyword" : { "type" : "keyword", "ignore_above" : 256 } } }, "cpu_usage_per" : { "type" : "float" }, "disk_total" : { "type" : "long" }, "disk_usage" : { "type" : "long" }, "host" : { "type" : "text", "fiel..
ElasticSearch를 이용하다보면 가끔씩 필드 속성제한을 해제할 필요가 있다. 그럴때 아래와 같은 명령어를 통해서 설정할 수 있다. PUT test_index/_settings { "index.mapping.total_fields.limit": 2000 } 그리고 Aggreagation 의 요청 처리속도는 size 설정이 영향을 미치지 않는다. "query": { "bool": { "must": [ { "range": { "systemtime.keyword": { "from": "2022-02-25 00:00:00", "to": null, "include_lower": true, "include_upper": true, "format": "yyyy-MM-dd HH:mm:ss", "boost": 1 ..
엘라스틱서치에서 DSL이란 Domain Specific Language 으로 JSON에 기반한 질의어를 말한다. 결국 데이터베이스처럼 사용자가 원하는 데이터를 추출하기 위한 질의 언어라는 뜻이다. 엘라스틱서치에서 기본적으로 질의를 하려면 아래와 같이 "query" 속성을 사용한다. GET camo_system_logs/_search { "query": { "range": { "systemtime.keyword": { "lt": "now" } } } } Query VS Filter DSL 기능이 어떤게 있는지 설명에 앞서 query와 filter간 차이점은 다음과 같다. 기본적으로 Elastic search는 일치하는 검색 결과의 관련성을 점수 별로 정렬하여 각 문서가 쿼리와 얼마나 잘 일치하는지 측정한다..
들어가며 Mybatis는 자바 ORM(Object Relational Mapping) 프레임워크 중 하나로, SQL 쿼리문을 XML 혹은 어노테이션으로 관리하면서 자바 객체와 데이터베이스 사이의 매핑을 쉽게 도와주는 도구이다. Mybatis의 동작 원리를 단계적으로 살펴보자. 1. 설정 파일 로딩 Mybatis는 mybatis-config.xml 설정 파일을 통해 시작된다. 이 파일에서 데이터베이스 연결 정보, 트랜잭션 관리 방식, 매퍼 파일 위치 등을 설정할 수 있다. 설정 파일을 읽어들여 SqlSessionFactory를 생성하는 건데, 이 객체는 세션을 생성하는 공장 역할을 한다. 이 과정에서 Mybatis는 설정 파일의 정보를 기반으로 내부적으로 필요한 준비를 마친다고 볼 수 있다. 2. SqlS..
public String doSometing( @RequestParam("가져올 데이터의 이름") [데이터타입] [가져온데이터를 담을 변수], Model model) 위와 같은 형식으로 사용하는데 @RequestParam 어노테이션은 servlet에서 HttpServletRequest 객체와 같은 역할을 수행한다. 아래는 예시코드이다. 1 2 3 4 @RequestMapping(value = "/read", method = RequestMethod.GET) public void read(@RequestParam("bno") int bno, Model model) throws Exception { model.addAttribute(service.read(bno)); } Colored by Color Scr..
스프링MVC에서 MyBatis를 XML로 사용하여 DAO를 작성하고 Junit으로 테스트하는 과정에서 Spring - An illegal reflective access operation has occurred Illegal reflective access by org.apache.ibatis.reflection.Reflector 이러한 경고메시지를 만나게 되었다. error는 아니기 때문에 해당 테스트는 문제없이 수행되었지만 그래도 WARNING이 뜨니까 불편했는데 해결방법은 간단했다. Mybatis 라이브러리 버전을 업데이트해주면 되는 것이다.
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.