Service

Antes:

    @Transactional(readOnly = true)
    public Page<ProductDto> findAll(Pageable pageable) {
        Page<Product> products = productRepository.findAll(pageable);

        //pode fazer .map direto pois Page já é uma stream
        return products.map(x -> new ProductDto(x));
    }

Depois:

    @Transactional(readOnly = true)
    public Page<ProductDto> findAll(String name, Pageable pageable) {
        Page<Product> products = productRepository.searchByName(name, pageable);

        //pode fazer .map direto pois Page já é uma stream
        return products.map(x -> new ProductDto(x));
    }

Atualizado