기존 방식

@Query("SELECT p FROM Product p " +
		"WHERE p.name LIKE %:productName% " +
		"AND p.deletedAt IS NULL " +
		"AND p.isExposed = true " +
		"AND p.productStatus = com.freeder.buclserver.domain.product.vo.ProductStatus.ACTIVE " +
		"ORDER BY p.productPriority DESC")
	Page<Product> findProductsBySearchByConditions(
		@Param("productName") String productName,
		Pageable pageable
	);

문제점

  1. 띄어쓰기 오타에 대해서 해당 상품을 검색하지 못하는 문제

Untitled

원인 분석

  1. 상품 검색시 상품 리스트를 가져오는 데 오래 걸리는 문제

Untitled

[문제 접근]

  1. Elastic Search를 사용하는 경우
  2. Full Text Search를 사용하는 경우

1. Elastic Search를 사용하는 경우