티스토리 뷰

개발/WIL

11.20 WIL

욱스다 2022. 11. 20. 22:19

지난 한주동안에는 중간발표를 위한 뷰 페이지를 보여주기위해 thymeleaf를 사용했고,

redis를 적용해 로그인시 발급하는 refresh토큰을 mysql db에 저장하는 대신 인메모리 식으로 저장하게 바꿨다.

 

jpql, querydsl을 사용한 검색 버튼을 구분하였다.

코드는 match against를 사용!

@Query(value = "SELECT * FROM books WHERE MATCH(title) AGAINST(:word in boolean mode) LIMIT :size OFFSET :page", nativeQuery = true)
List<Books> searchTitleFullText(@Param("word") String word, @Param("size") int size, @Param("page") int page);

 

자연어 검색, 정확도 검색 모드

public MySQL8DialectCustom(){
    super();

    registerFunction(
            "match",
            new SQLFunctionTemplate(StandardBasicTypes.DOUBLE, "match(?1) against (?2 in boolean mode)")
    );

    registerFunction(
            "match2",
            new SQLFunctionTemplate(StandardBasicTypes.DOUBLE, "match(?1) against (?2 in natural language mode)")
    );
}

방언 추가하는 부분에 있어 변수?를 추가하는 부분에 있어 하는법을 몰라서 애먹었다.

NumberTemplate booleanTemplate= Expressions.numberTemplate(Double.class,
        "function('match',{0},{1})", bookEq(field), word);

NumberTemplate booleanTemplate2= Expressions.numberTemplate(Double.class,
        "function('match2',{0},{1})", bookEq(field), word);

로그인후 보여주는 페이지

중간발표후 멘토님께 질문 + 피드백내용

 

1. 카카오톡 Aouth 최신화

2. AOP 커스텀 코드 칭찬

3. elasticsearch : 루신과 엘라스틱서치의 인덱싱 차이 학습

4. slow query가 발생하면 slack메세지 발생하는 기능 구현

5. back office(slow query 발생 시 알람 발생, 조회 시 log시스템(es로) 구현) 기능 추가

6. 책 요약 데이터 삽입 후 내용으로 검색 기능 추가

7. MySql에서 도서관 별로 장서가 몇 장인지 확인 기능 추가(후순위로 생각) 8. count 최적화: pk가 있다면 pk의 최댓값을 불러와 count 하는 방법(JPQL 한 줄 추가)

 

 

다음주부터 피드백 받은 내용들을 어느부분부터 적용할지 고민하고 새로 써볼지 고민해보는 주가될거같다.

 

 

 

'개발 > WIL' 카테고리의 다른 글

11.27 WIL  (0) 2022.11.27
11.13 WIL  (0) 2022.11.13
11.6 WIL  (0) 2022.11.06
10.30 WIL  (0) 2022.10.30
10.23 WIL  (0) 2022.10.24
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/06   »
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
글 보관함