🌿프로그램 설치 STS4는 순수한 Spring 프로젝트를 지원하지 않고, Spring Boot를 사용하도록 되어 있다. 그래서 기존의 프로젝트를 사용하기 위해서는 STS3를 사용해야 한다. JDK를 변경하면 지금까지 진행한 프로젝트가 실행되지 않을 가능성이 있지만, 앞으로 진행할 Spring은 JDK 버전업이 필요하다. JDK 17 설치 https://www.oracle.com/kr/java/technologies/downloads/#jdk17-windows Download the Latest Java LTS Free Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to th..
🌿Elasticsearch 검색 기능 추가 엘라스틱서치로 도서를 검색하는 기능을 구현해 보도록 하자. 이는 기존 프로젝트에 엘라스틱서치 검색 기능을 추가하는 작업이다. 프로젝트 생성 com.test.controller com.test.persistence com.test.domain com.test.mapper 패키지를 추가하고 servlet-context.xml에서 패키지를 인식하도록 수정한다. 파일 추가 com.test.controller BookController.java com.test.persistence BookDAO.java(I) > 오라클 데이터 처리 BookDAOImpl.java(C) BookRepository.java(I) > 엘라스틱서치 데이터 처리 BookRepositoryImpl...
🌿Elasticsearch와 Spring 연동 Elasticsearch Client를 Dev Tools에서 Spring Application으로 변경하는 작업을 해보도록 하자. Oracle을 Sql Developer에서 Java Application으로 넘어와 JDBC에서 입출력을 했듯이, 이번에는 Elasicsearch를 Spring에서 조작하는 것이다. WSL 가상 머신의 특징 http://localhost:9200 > elasticsearch http://localhost:5601 > kibana WSL 안에서 ES가 돌아가고 있는 상태이다. 자바(스프링)에서 ES에 접근하여 CRUD 작업을 하려고 한다. 로컬 호스트는 컴퓨터로써 자기 자신을 가리킨다. PC에서 9200 또는 5601을 사용하는 프..
🌿MobaXterm MobaXterm을 이용하여 AWS Ubuntu에서 스프링과 엘라스틱서치 환경을 구축해 보도록 하자. 🌿기본 설정 1. 패키지 업데이트 $ sudo apt-get update 뭔가 하기 전에는 반드시 패키지 업데이트를 진행해 주도록 한다. 2. JRE 설치 $ java --version $ sudo apt-get install default-jre 3. JDK 설치 $ javac --version $ sudo apt-get install default-jdk JRE와 JDK 설치를 완료하였다. 4. Tomcat 설치 $ cd ~ $ wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.83/bin/apache-tomcat-9.0.83.tar.gz ..
🌿검색 정확도 (Relevancy) RDBMS의 검색 RDBMS는 검색을 할 때 조건에 맞는 데이터인지 아닌지를 구분하여 결과를 반환한다. 이는 조건을 만족하는지, 만족을 못 하는지의 이분법으로만 데이터를 구분하는 셈이다. 결국 얼마나 조건에 정확하게 부합하는지는 판단할 수 없다는 단점이 있다. 엘라스틱 서치의 검색 GET my_english/_search { "query": { "match": { "message": "quick dog" } } } 엘라스틱서치는 검색을 할 때 알고리즘에 따라 검색 결과가 입력된 조건과 얼마나 정확하게 일치하는지를 계산한다. 그래서 어떤 게 더 가치가 있고 없는지를 알 수 있게 된다. max_score는 검색한 것들 중에 가장 검색 정확도가 높은 것을 의미한다. 보통 처..
🌿매핑 (Mapping) PUT { "mapping": { "properties": { "": { "type": "", } } } } 위의 방법으로 인덱스에 대한 매핑을 적용할 수 있다. 이때, 한 번 만들어진 매핑은 수정이 불가능하다. 필드명을 중복하면 똑같은 이름의 컬럼을 만드는 것이 되기 때문에 중복될 수 없다. 매핑 정보를 수정해야 한다면 인덱스를 삭제하고 다시 인덱스를 생성하는 것을 권장한다. 기본 설정 $ sudo systemctl start 패키지명 $ sudo systemctl stop 패키지명 $ sudo systemctl status 패키지명 $ sudo systemctl restart 패키지명 http://localhost:9200 > elasticsearch http://localh..
🌿데이터 색인 Elasticsearch는 Oracle보다 훨씬 더 많은 양의 데이터를 검색한다. Elasticsearch는 데이터를 저장할 때 색인을 거쳐서 저장이 된다는 특징이 있다. Full Text Search [AWS] Elasticsearch 검색: Multitenancy, Full Text Search, QueryDSL 🌿Elasticsearch 검색 Elasticsearch는 관계형 데이터베이스에 비해 다양하고 효과적인 검색 기능을 제공한다. 가장 주된 특징은 풀 텍스트 검색(Full Text Search)을 지원한다는 점이다. 누군가 Elasticsearch isaac-christian.tistory.com 앞서 사용할 Elasticsearch 검색 방법은 위 글을 참고한다. Elastic..