본문 바로가기

전체 글

(38)
SpringBoot - data - mongodb(MongoRepository)를 사용한 몽고디비 CRUD 1. build.gradle에 라이브러리 추가하기 ... dependencies { ... // mongo implementation 'org.springframework.boot:spring-boot-starter-data-mongodb' } 2. application.properties에 MongoDB 정보 추가하기 ... spring.data.mongodb.host=몽고디비 설치 ip spring.data.mongodb.port=몽고디비 port spring.data.mongodb.database=db명 spring.data.mongodb.username=계정 spring.data.mongodb.password=비밀번호 ... 3. entity, repository 추가하기 JPA를 사용해 보신 분..
[Maria DB ubuntu] 외부 접속 허용하기 서버에 DB를 세팅하고 DB툴로 testconnection을 할 때 connection timeout이 발생하는 경우가 있습니다. 방화벽 인바운드 규칙을 먼저 확인해 보고, 만약 인바운드 규칙이 정상적으로 존재한다면, MariaDB의 외부 접속 설정을 하지 않아서 접속이 안 되는 것일 수 있습니다. MariaDB의 접속 허용 설정 파일은 /etc/mysql/mariadb.conf.d/50-server.cnf에 존재합니다. vi /etc/mysql/mariadb.conf.d/50-server.cnf bind-address를 주석 처리합니다. 주석 처리가 완료되면 MariaDB를 재시작합니다. sudo service mysql restart 재시작하였는데도 제가 테스트하고 있는 root 계정은 아직도 외부 ..
[MariaDB] 우분투에 설치하기 설치에 앞서 apt-get update 명령어로 패키지 목록을 최신화합니다. sudo apt-get update 패키지 목록이 최신화되면 아래 명령어로 mariadb-server를 설치합니다. 저는 10.3 버전을 설치하겠습니다. 특정 버전을 지정하지 않는다면 mariadb-server까지만 입력하면 됩니다. sudo apt install mariadb-server-10.3 mariadb-server가 설치가 완료되었다면 mariadb-client도 설치합니다. mariadb-client는 MariaDB에 접속하기 위해 필요합니다. sudo apt-get install mariadb-client client까지 설치가 완료되면 MariaDB의 계정과 보안설정 등을 수행하는 스크립트를 실행합니다. sudo..
AWS EC2로 Ubuntu 서버 만들기 사용하던 AWS 계정이 폭파하여 새로 만드는 김에 포스팅합니다. 먼저 aws console에 로그인하고 상단 검색에 EC2를 검색합니다. 화면 중단 즈음에 있는 인스턴트 시작 버튼을 누릅니다. 목록을 내리다 보면 있는 우분투 AMI를 선택합니다. 저는 프리티어로 서버를 열 목적이므로 프리티어를 선택했습니다. 다음: 인스턴스 세부 구성 버튼을 클릭하여 다음으로 넘어갑니다. 옵션을 변경하지 말고 다음: 스토리지 추가 버튼을 눌러서 넘어갑니다. 스토리지의 크기를 30GB로 설정하고 다음 버튼을 누릅니다. 프리티어에서는 최대 30GB까지 사용할 수 있습니다. 태그를 추가하실 분은 태그를 추가합니다. 추가가 완료되면 다음: 보안 그룹 구성 버튼을 누릅니다. 보안 그룹을 구성합니다. 22번 SSH 포트를 공개할 대..
Mongoose MongoParseError: option usecreateindex is not supported 소스 mongoose.connect(`mongodb://id:pw@ip:27017/admin`, { dbName: 'dbName', useNewUrlParser: true, useCreateIndex: true, }, ... 몽구스 버전이 6.0 이상이라면 몽구스는 항상 useCreateIndex: true로 기억하기 때문에 해당 부분을 주석으로 처리하면 해결됩니다. mongoose.connect(`mongodb://id:pw@ip:27017/admin`, { dbName: 'dbName', useNewUrlParser: true, // useCreateIndex: true, }, ...
mongoose mongodb 계정 패스워드에 특수문자 해결하기 발생 에러: MongoParseError: Password contains unescaped characters... 소스 mongoose.connect('mongodb://아이디:특수문자들어간비밀번호@***.***.***.***:27017/admin', { ... }); 해결방안 특수문자를 인코딩하면 해결됨 mongoose.connect(`mongodb://아이디:${encodeURIComponent('특수문자들어간비밀번호')}@***.***.***.***:27017/admin`, { ... });
Spring Boot - ElasticSearch RestHighLevelClient 인기검색어(일간,주간,월간) API 구현하기 1. 검색 시 검색 쿼리 로깅하기 제일 먼저, 검색 성공 시(검색 결과 건수가 0건 이상일 때) "query-log"라는 인덱스에 로그 데이터를 추가합니다. 먼저, 로그를 추가하는 메서드입니다. @Override public void putSearchLog(String query,String memberId) throws Exception { String indexName = "query-log"; IndexRequest request = new IndexRequest(indexName); request.id(); Map doc = new HashMap(); doc.put("query", query); doc.put("memberId", memberId); Date date = new Date(Syste..
Spring Boot - ElasticSearch RestHighLevelClient 검색 결과 하이라이팅 (HighlightBuilder) RestHighLevelClient의 HighlightBuilder를 이용하여 검색 결과를 하이라이팅 처리해보겠습니다. Map resultMap = new HashMap(); try { SearchRequest searchRequest = new SearchRequest("combook*"); // 인덱스명 SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); searchSourceBuilder.size(10000); searchSourceBuilder.timeout(new TimeValue(60,TimeUnit.SECONDS)); searchSourceBuilder.query(QueryBuilders.matchQuery("title"..