🌿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..
🌿Elasticsearch 검색 Elasticsearch는 관계형 데이터베이스에 비해 다양하고 효과적인 검색 기능을 제공한다. 가장 주된 특징은 풀 텍스트 검색(Full Text Search)을 지원한다는 점이다. 누군가 Elasticsearch가 뭔지를 물어보면 풀 텍스트 검색을 지원하는 검색 엔진이라고 대답하면 된다. QueryDSL 검색을 할 때에는 QueryDSL(Query Domain Specifin Language)을 사용한다. 이는 검색을 할 때 표현을 위한 언어로, 검색하는 환경에서 조건을 만드는 표현식 중 하나이다. 검색 대상 match_all 검색 GET /_search 검색은 Index를 대상으로 수행된다. 즉, Index가 다르면 검색을 따로 해야 한다. match_all은 검색 방..
🌿Elasticsearch의 특징 active(running) 확인 $ sudo systemctl start 패키지명 $ sudo systemctl stop 패키지명 $ sudo systemctl status 패키지명 $ sudo systemctl restart 패키지명 elasticsearch와 kibana가 active(running) 중인지 확인한다. 이제 Ubuntu라는 환경에서 Elasticsearch와 kibana가 돌고 있는 상태이다. elasticsearch.host가 http://localhost:9200으로 되어 있다. kibana가 기본적으로 연결해야 하는 주소를 이미 알고 있기 때문에 두 프로그램을 연결해주지 않아도 실행하는 것만으로 kibana가 elasticsearch에 접속하게..
🌿Ubuntu Server 우분투에는 크게 Ubunbu Server와 Ubundu Desktop으로 2종류가 있다. 2종류 모두 똑같이 작업 표시줄이 있지만, 우리가 사용하는 것과 비슷한 게 우분투 데스크탑이고, 서버는 전부 콘솔창으로 이루어져 있다. 우분투 서버는 오로지 텍스트 환경에서만 화면을 제공한다. 일반 사용자가 사용하는 운영체제가 아니라 서버로 사용하는 운영체제이기 때문에 UI가 필요가 없다. 그래서 훨씬 가볍고 안정적이며 빠르다. 여기에 접속할 수 있는 툴은 여러 가지가 있는데, 가장 기본적인 건 cmd로 들어가는 것이다. CMD로 접속 키 페어가 있어야 접속할 수 있으므로 키 페어 파일이 있는 곳에서 cmd를 열도록 한다. 우리가 사용하는 우분투는 기본적으로 사용자 이름이 ubuntu이다...
🌿REST API를 사용하기 위한 도구 1. curl 2. Postman, Insomnia 등 REST Client 3. Kibana > Dev Tools 잦은 입출력을 해야 하는데 REST Client 도구를 사용하면 되려 번거로워진다. 그래서 Kibana의 Dev Tools를 사용하기로 한다. [Spring] REST API, RESTful API (CSR: Client Side Rendering) 🌿REST REST(Representational State Transfer)는 웹 상의 자원(문서, 이미지, 영상 등)을 자원명으로 표시해서 상태를 주고받는 규칙을 의미한다. HTTP URI를 통해서 자원을 명시하고, HTTP Method를 통해서 자원 isaac-christian.tistory.com ..