본문 바로가기

전체 글

(38)
[ElasticSearch] 엘라스틱 서치 windows nori 형태소 분석기(nori tokenizer) 설치하기 nori 형태소 분석기 설치는 매우 간단합니다. 1. 현재 엘라스틱서치가 실행 중이라면 종료합니다. 2. 관리자모드로 명령프롬프트를 실행시킵니다. 3. 엘라스틱 서치 실행 경로 밑에 bin 경로로 이동합니다. 4. elasticsearch-plugin 모듈을 통하여 설치를 진행합니다. C:\dev\elasticsearch-7.14.1\bin> elasticsearch-plugin install analysis-nori 설치가 완료되었습니다. 간단한 테스트를 통하여 정상적으로 설치되었는지 확인할 수 있습니다. 5. 테스트 저는 postman 프로그램으로 요청하여 테스트를 해보겠습니다. 먼저 standard tokenizer를 통하여 기존 분석 값을 확인합니다. 결과 확인 { "tokens": [ { "to..
Spring Boot - ElasticSearch RestHighLevelClient 범위 검색하기 (rangeQuery) RestHighLevelClient의 rangeQuery를 사용하여 범위 검색하는 예제를 다뤄보겠습니다. Controller @RestController public class TestController { @Autowired TestService testService; @RequestMapping("/test/test.do") Map test() throws Exception{ return testService.doSearch(); } } RestController 어노테이션을 통해 리턴되는 값을 JSON형태로 화면에 출력하도록 하였습니다. 1. ~~ 이상 ~~ 이하 쿼리 Service @Service public class TestServiceImpl implements TestService{ @Au..
[Java] List Map<String,Object> 정렬하기 초기 데이터 정렬하기 예제를 시행하기 위한 초기 데이터입니다. List list = new ArrayList(); Map map1 = new HashMap(); map1.put("name", "apple"); map1.put("price", 1000); Map map2 = new HashMap(); map2.put("name", "orange"); map2.put("price", 500); Map map3 = new HashMap(); map3.put("name", "banana"); map3.put("price", 2000); list.add(map1); list.add(map2); list.add(map3); System.out.println(list); 정렬하기 위해 Collections.sort(..
Spring Boot - ElasticSearch RestHighLevelClient like 검색하기(queryStringQuery) DB를 조회하는 SQL 에는 where 조건에 like 검색을 할 수 있습니다. ElasticSearch에서도 like 검색을 구현할 수 있습니다. 먼저 SQL문으로 쿼리를 실행하여 결과를 확인해 보겠습니다. SELECT * FROM combook c where TITLE like '%피노%'; 1건이 도출됩니다. rest high level client 를 사용하여 테스트를 진행해보도록 하겠습니다. like검색을 생각 하지 않고 그대로 검색 요청을 해보겠습니다. @Override public Map doSearch() throws Exception { Map resultMap = new HashMap(); try { SearchRequest searchRequest = new SearchRequest(..
Spring Boot - ElasticSearch RestHighLevelClient 쿼리 연산자 활용하여 검색하기(queryStringQuery) @Override public Map doSearch() throws Exception { Map resultMap = new HashMap(); try { SearchRequest searchRequest = new SearchRequest("combook*"); SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); searchSourceBuilder.size(10000); searchSourceBuilder.timeout(new TimeValue(60,TimeUnit.SECONDS)); BoolQueryBuilder boolQuery = new BoolQueryBuilder(); boolQuery.must(QueryBuilders...
Spring Boot - ElasticSearch RestHighLevelClient Index관련 개발하기 (rest high level client CRUD) 1. 인덱스 생성하기 CreateIndexRequest request = new CreateIndexRequest("TestIndex"); // 인덱스 명 // mapping 설정 Map message = new HashMap(); message.put("type", "text"); Map properties = new HashMap(); properties.put("message", message); Map mapping = new HashMap(); mapping.put("properties", properties); request.mapping(mapping); // 인덱스 생성 client.indices().create(request, RequestOptions.DEFAULT); 여기서 mappi..
Spring Boot - Spring Security를 사용한 회원가입,비밀번호 암호화, 로그인, 로그아웃 구현하기(MariaDB) 1. 회원가입 구현하기 먼저, 회원가입을 구현하기 위해 테이블부터 생성합니다. CREATE TABLE `spb_member` ( `member_id` varchar(30) NOT NULL COMMENT '아이디', `member_pw` varchar(300) DEFAULT NULL COMMENT '비밀번호', `member_name` varchar(100) DEFAULT NULL COMMENT '이름', `member_contact` varchar(50) NOT NULL COMMENT '연락처', `signup_time` datetime DEFAULT NULL COMMENT '가입시간', `deleted_yn` char(1) NOT NULL DEFAULT 'N' COMMENT '탈퇴 여부', PRIMAR..
Spring Boot - ElasticSearch RestHighLevelClient 검색 조건 중첩하기 지난 게시글에서는 검색 정렬에 대해서 다뤄봤습니다. 2021.10.17 - [Elastic Stack/Elastic Search] - Spring Boot - ElasticSearch RestHighLevelClient 특정 필드로 정렬하기 Spring Boot - ElasticSearch RestHighLevelClient 특정 필드로 정렬하기 엘라스틱 서치의 RestHighLevelClient를 사용하여 검색 결과 문서의 정렬하는 방법을 소개하겠습니다. 소스코드 먼저 살펴보겠습니다. Controller @RestController public class TestController { @Autowired Re.. super-devstory.tistory.com 이번에는 검색 조건을 거는 부분. 검색 조..