What are the advantages and disadvantages of using GET parameters versus session-based searches for maintaining search filters in PHP?

When maintaining search filters in PHP, using GET parameters is advantageous because it allows for bookmarking and sharing of search results. However, it can clutter the URL and expose sensitive information. On the other hand, session-based searches keep the URL clean but can lead to scalability issues with large amounts of data stored in sessions.

// Using GET parameters for search filters
$searchTerm = isset($_GET['search']) ? $_GET['search'] : '';
$category = isset($_GET['category']) ? $_GET['category'] : '';

// Using session for search filters
session_start();
$_SESSION['searchTerm'] = isset($_SESSION['searchTerm']) ? $_SESSION['searchTerm'] : '';
$_SESSION['category'] = isset($_SESSION['category']) ? $_SESSION['category'] : '';