diff --git a/modules/Admin/Controllers/EpisodeController.php b/modules/Admin/Controllers/EpisodeController.php
index 9fafb6e8fd066ea2d86f5d68b90e081ef313519d..d58be7ba42a677b11599d8bb07efaa2242204437 100644
--- a/modules/Admin/Controllers/EpisodeController.php
+++ b/modules/Admin/Controllers/EpisodeController.php
@@ -67,9 +67,19 @@ class EpisodeController extends BaseController
         $query = $this->request->getGet('q');
 
         if ($query !== null && $query !== '') {
-            $episodes = (new EpisodeModel())
-                ->where('podcast_id', $this->podcast->id)
-                ->where("MATCH (title, description_markdown) AGAINST ('{$query}')");
+            // Default value for MySQL Full-Text Search's minimum length of words is 4.
+            // Use LIKE operator as a fallback.
+            if (strlen($query) < 4) {
+                $episodes = (new EpisodeModel())
+                    ->where('podcast_id', $this->podcast->id)
+                    ->like('title', $query)
+                    ->orLike('description_markdown', $query)
+                    ->orderBy('created_at', 'desc');
+            } else {
+                $episodes = (new EpisodeModel())
+                    ->where('podcast_id', $this->podcast->id)
+                    ->where("MATCH (title, description_markdown) AGAINST ('{$query}')");
+            }
         } else {
             $episodes = (new EpisodeModel())
                 ->where('podcast_id', $this->podcast->id)