@Query(value = "SELECT * FROM test.books WHERE MATCH(AUTHR_NM) AGAINST (:query IN BOOLEAN MODE)", nativeQuery = true)
List<Book> findBooksByAuthor(@Param("query") String query);
불리언 모드로 검색하는 경우 많은 데이터들 중에서 양질의 결과만 불러올 수 있지만 사실 누락되는 책들이 많은 것도 사실이다. 그런데 검색어에 따라서 리턴값이 empty인 경우도 있다. 이럴때는 검색범위를 넓혀 검색결과를 보내주는 방법이 필요하다.
이 경우에 서비스단에서 처음 돌려받은 참조변수의 값을 확인하여 null인 경우 다시 정보요청을 하도록 하면 어떨까?
이 방법의 단점은 같은 검색을 쿼리를 두번 보내서 해야한다는 것이다.
사용자 경험을 개선하는 것과 데이터베이스의 리소스를 사용하는 것. 이 둘의 밸런스가 중요한것같다.
추가 작성예정
'파이널 프로젝트' 카테고리의 다른 글
[Spring] 객체지향 관점에서 DI로 의존성 문제를 해결 할때 장점은? (0) | 2023.06.01 |
---|---|
[트러블슈팅] 영어제목 검색 속도 향상시키기 (1) | 2023.04.12 |
[트러블슈팅] 통합검색에 대한 고찰 (1) | 2023.04.12 |
[트러블슈팅] ISBN 검색속도 저하 문제 (0) | 2023.04.12 |
[CS] 스레드에 대한 고찰 (1) | 2023.04.12 |