Index: src/main/java/com/db/finki/www/build_board/controller/home_page/HomePageController.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/controller/home_page/HomePageController.java	(revision d83e9813773001148d1b7b5111c4ff29a8c83a7e)
+++ src/main/java/com/db/finki/www/build_board/controller/home_page/HomePageController.java	(revision be4e5624790a6a669f74e1fdacc2d9784700a24c)
@@ -43,14 +43,27 @@
     @GetMapping("/")
     public String search(
-            @RequestParam(required = false) String title,
-            @RequestParam(required = false) String content,
-            @RequestParam(required = false, name = "threadType") String type,
-            @RequestParam(required = false) List<String> tag,
+            @RequestParam(required = false, defaultValue = "") String query,
+            @RequestParam(required = false, defaultValue = "all") String type,
+            @RequestParam(required = false, defaultValue = "") List<String> filters,
+            @RequestParam(required = false,name = "tags") List<String> tag,
             Model model
                         ) {
-        if(title!=null)
-            title= URLDecoder.decode(title, StandardCharsets.UTF_8);
-        if(content!=null)
-            content=URLDecoder.decode(content, StandardCharsets.UTF_8);
+
+        if(type.equals("all"))
+            type=null;
+
+        String title = null;
+        String content = null;
+
+        if(query != null && filters.contains("title"))
+            title= URLDecoder.decode(query, StandardCharsets.UTF_8);
+
+        if(query != null && filters.contains("content"))
+            content=URLDecoder.decode(query, StandardCharsets.UTF_8);
+
+        if(filters.isEmpty()){
+            title=URLDecoder.decode(query, StandardCharsets.UTF_8);
+            content=URLDecoder.decode(query, StandardCharsets.UTF_8);
+        }
 
         model.addAttribute("threads", namedThreadService.getAll(title,content,type,tag));
Index: src/main/java/com/db/finki/www/build_board/repository/NamedThreadRepository.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/NamedThreadRepository.java	(revision d83e9813773001148d1b7b5111c4ff29a8c83a7e)
+++ src/main/java/com/db/finki/www/build_board/repository/NamedThreadRepository.java	(revision be4e5624790a6a669f74e1fdacc2d9784700a24c)
@@ -2,9 +2,6 @@
 
 import com.db.finki.www.build_board.entity.view.NamedThread;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Query;
-import org.springframework.data.repository.PagingAndSortingRepository;
 import org.springframework.data.repository.query.Param;
 
@@ -16,8 +13,8 @@
                     SELECT * 
                     FROM v_named_threads t 
-                    WHERE (:title IS NULL OR t.title LIKE :title || '%') 
-                    AND (CAST(:type as varchar) IS NULL OR t.type like :type || '%') 
-                    AND (CAST(:content as varchar) IS NULL OR t.content LIKE :content || '%')
-                    AND (CAST(:tags as varchar) IS NULL OR t.tags @> string_to_array(:tags,',')::varchar[])
+                    WHERE (:title IS NULL OR t.title ILIKE :title || '%') 
+                    AND (CAST(:type as varchar) IS NULL OR t.type ilike :type || '%') 
+                    AND (CAST(:content as varchar) IS NULL OR t.content ILIKE :content || '%')
+                    AND (CAST(:tags as varchar) IS NULL OR t.tags @> string_to_array(lower(:tags),',')::varchar[])
                  """
     )
Index: src/main/resources/templates/home_pages/home.html
===================================================================
--- src/main/resources/templates/home_pages/home.html	(revision d83e9813773001148d1b7b5111c4ff29a8c83a7e)
+++ src/main/resources/templates/home_pages/home.html	(revision be4e5624790a6a669f74e1fdacc2d9784700a24c)
@@ -149,6 +149,13 @@
                         <select class="form-select form-select-sm w-auto" id="filterType" name="type">
                             <option value="all">All</option>
-                            <option value="topic">Topic</option>
-                            <option value="project">Project</option>
+                            <option value="topic">Topics</option>
+                            <option value="project">Projects</option>
+                        </select>
+                    </div>
+                    <div>
+                        <label for="filterType" class="me-2">Tags:</label>
+                        <select class="form-select form-select-sm w-auto" id="tags" name="tags">
+                            <option value=""></option>
+                            <option th:each="tag:${tags}" th:text="${tag.getName()}" th:value="${tag.getName()}"></option>
                         </select>
                     </div>
