일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- C
- IT
- 쿠버네티스
- 카카오
- 스프링부트
- 백엔드
- 네트워크
- Elasticsearch
- Kakao
- 프로그래머스 #카카오 #IT #코딩테스트
- 프로그래머스
- 엘라스틱서치
- springboot
- 스프링
- 개발자
- 도커
- programmers
- 파이썬
- Spring
- Java
- 운영체제
- docker
- 리눅스
- DPDK
- 코딩테스트
- Linux
- 자바
- 캐시
- 알고리즘
- Python
- Today
- Total
목록ElasticSearch (6)
저고데

공통 실험 조건 설정하기 지난 시간에 진행한 실험은 모두(?)의 예상을 깨고 RDBMS가 속도가 더 빠르며, 성능이 더 우수하였다. 굴욕의 이전 실험 과정 보기 : https://justgotothedesk.tistory.com/128 그래서 이를 모면하고자, 이번에는 좀 더 복잡한 데이터를 바탕으로 속도 실험을 진행하도록 하겠다. 아래와 같이, 상품에 대한 데이터를 저장하고 검색해볼 것이며, 데이터의 개수는 이전보다 많은 10만개로 설정하였다. 그리고 각각 "긍정"이라는 단어를 검색했을 때, 걸리는 시간을 비교할 것이다. PUT /elastic_dw_test { "settings": { "analysis": { "analyzer": { "my_analyzer": { "tokenizer": "nori_t..

지난 이야기 우선 지난 시간의 문제점에 대해서 잠깐 언급하고 시작하겠다. 1. "이름" 검색은 이상이 없지만 "나이" 검색은 오류가 발생한다. 2. 검색 결과가 모두 출력되어서 가독성이 낮다. 3. "temp12"로 검색했을 때는 괜찮지만 "temp"로 검색했을 때는 오류가 발생한다. 이제 본격적으로 문제 해결과정에 대해서 알아보자! 이름 검색 문제 해결하기 @Repository public interface UserRepository extends ElasticsearchRepository { List findByName(String name); @Query("{\"wildcard\":{\"name.keyword\":\"*?0*\"}}") List findByNameWildcard(String name..

이전에 2편에서 관계형 데이터베이스와 엘라스틱 서치에 대한 성능 차이를 실험해보았다.(결과는 내 예상과 매우 달랐지만 ...) 아무튼 아무튼 이번에는 해당 검색 결과를 화면에 출력하는 검색 엔진을 만들어보도록 하겠다. 코드 수정하기 검색어: 검색 항목: 이름 나이 검색 home.html 파일에 다음과 같은 코드를 추가하여 검색 창을 만든다. 이 때, 사용자의 이름과 나이에 대한 정보로 검색이 가능하기 위해서 Thymeleaf의 select를 통해 "이름"과 "나이"를 선택할 수 있게 해준다. @Repository public interface UserRepository extends ElasticsearchRepository { List findByName(String name); @Query("{\"w..

이번 시간에는 엘라스틱 서치와 관계형 데이터베이스 간의 성능 차이를 비교해보도록 하자. 공통 실험 배경은 다음과 같다. 각각의 데이터베이스에 14883개의 User 데이터를 저장한다. User 객체는 id, name, age의 columm을 가지고 있다. // 엘라스틱 서치에 데이터를 추가하는 코드 @GetMapping("/elasticadd") public String addUser() { for (int i = 0; i < 14884; i++) { User user = new User(); user.setId(String.valueOf(i)); user.setName("temp"+String.valueOf(i)); user.setAge(i); userService.saveUser(user); } re..