diff --git a/app/assets/javascripts/application/search.js b/app/assets/javascripts/application/search.js
index ecb67de393318dbca81b254cb14a2a2f190cb43b..42786f18c620b1a70002bba6b03d6255ec4852d1 100644
--- a/app/assets/javascripts/application/search.js
+++ b/app/assets/javascripts/application/search.js
@@ -142,8 +142,8 @@ var search = function() {
             watchCheckbox('type', 'filter-type', true);
             break;
           // schoolyear
-          case 'school_year':
-            watchCheckbox('school_year', 'filter-school-year', true);
+          case 'school_level':
+            watchCheckbox('school_level', 'filter-school-level', true);
             break;
           case 'year':
             var year = params.get('year').split('-');
@@ -202,7 +202,7 @@ var search = function() {
       // watchFilterSubject();
       watchCheckbox('subject','filter-subject');
       watchCheckbox('type', 'filter-type');
-      watchCheckbox('school_year', 'filter-school-year');
+      watchCheckbox('school_level', 'filter-school-level');
       watchFilterYear();
       watchFilterRegex();
     }
@@ -352,7 +352,7 @@ var searchParameters = function() {
     order: "",
     subject: [],
     type: [],
-    school_year: [],
+    school_level: [],
     year: "",
     regex_all: "",
     regex_exact: "",
@@ -425,7 +425,7 @@ var searchParameters = function() {
       var params_to_send = JSON.parse(JSON.stringify(params));
       params_to_send.subject = params_to_send.subject.join(', ');
       params_to_send.type = params_to_send.type.join(', ');
-      params_to_send.school_year = params_to_send.school_year.join(', ');
+      params_to_send.school_level = params_to_send.school_level.join(', ');
       return params_to_send;
     },
     url: function() {
diff --git a/app/assets/stylesheets/application/search.scss b/app/assets/stylesheets/application/search.scss
index b9295a1a7b58474e4dbb0febfa1588758856aedc..454ef0a722430e915d11f6eb59ff17c3548e9364 100644
--- a/app/assets/stylesheets/application/search.scss
+++ b/app/assets/stylesheets/application/search.scss
@@ -19,6 +19,7 @@
       font-weight: 300;
       display: inline-block;
       margin-bottom: 6px;
+      white-space: normal;
     }
   }
 
@@ -31,10 +32,11 @@
       position: relative;
       font-weight: 300;
       margin-bottom: 8px;
+      padding-right: 15px;
 
       input[type=checkbox] {
         position: absolute;
-        right: 10px;
+        right: 5px;
       }
     }
   }
diff --git a/app/controllers/search_controller.rb b/app/controllers/search_controller.rb
index 6bdd3cfb559114b202fb340f88a003f22fbbbad6..b16e7f87be2c1315615a97d119329bb05a083ddb 100644
--- a/app/controllers/search_controller.rb
+++ b/app/controllers/search_controller.rb
@@ -2,8 +2,12 @@ class SearchController < ApplicationController
   include SearchEngine::OrientdbLucene
 
   def index
-    @types = learning_object_repository.get_types
+    @types = learning_object_repository.types
+
     @subjects = ['Arte', 'Biologia', 'Ciências', 'Educação Física', 'Filosofia', 'Física', 'Geografia', 'História', 'Matemática', 'Português', 'Química', 'Sociologia']
+
+    # 'Ensino Infantil' and 'Ensino Superior' will only exist after creation of new learning objects or update of the old ones
+    @school_levels = ['Ensino Infantil', 'Ensino Fundamental Inicial', 'Ensino Fundamental', 'Ensino Fundamental Final', 'Ensino Médio', 'Ensino Superior', 'Ensino Profissionalizante']
   end
 
   def fetch
@@ -11,7 +15,7 @@ class SearchController < ApplicationController
 
     params[:subject]= params[:subject].split(', ')
     params[:type] = params[:type].split(', ')
-    params[:school_year] = params[:school_year].split(', ')
+    params[:school_level] = params[:school_level].split(', ')
     params[:year] = params[:year].split('-').take(2)
     page=1
     if (params[:page])
diff --git a/app/repositories/orient_db/learning_object_repository.rb b/app/repositories/orient_db/learning_object_repository.rb
index 611e35e4ed08b046039c448e9d8bc2f78046c016..63048ea2e1769069f241bf2f06221e1e6fa30dd6 100644
--- a/app/repositories/orient_db/learning_object_repository.rb
+++ b/app/repositories/orient_db/learning_object_repository.rb
@@ -163,7 +163,7 @@ module OrientDb
       end
     end
 
-    def get_types
+    def types
       Rails.cache.fetch("learning_object/types", expires_in: 1.days) do
         query = "select type from LearningObject GROUP BY type"
         types_hash = connection.query query, limit: 100
@@ -182,7 +182,7 @@ module OrientDb
     #   METADATA {"analyzer":"org.apache.lucene.analysis.br.BrazilianAnalyzer"}
     def search(params)
       # mount cache_key with params
-      valid_params = %w(query order subject type school_year year)
+      valid_params = %w(query order subject type school_level year)
       cache_key = "search_result/"
       valid_params.each do |param|
         if params[param].class == Array
@@ -213,6 +213,7 @@ module OrientDb
 
         query = "SELECT FROM LearningObject WHERE [name, description] LUCENE '#{qry}'"
         query = query + " AND out('IsAbout') CONTAINS (name in ['" + params[:subject].join("','") + "'])" unless params[:subject].blank?
+        query = query + " AND out('IsAbout') CONTAINS (name in ['" + params[:school_level].join("','") + "'])" unless params[:school_level].blank?
         query = "SELECT * FROM (" + query + ") WHERE " + fetch_types(params[:type]) unless params[:type].blank?
         query = "SELECT * FROM (" + query + ") WHERE " + fetch_year(params[:year]) unless params[:year].blank?
         query = "SELECT * FROM (" + query + ") ORDER BY #{order}"
diff --git a/app/views/search/index.html.erb b/app/views/search/index.html.erb
index 74d412f5c5701d71f9f7a4e579edfec85f3ee1eb..f05dc2e30b57cb825a405c45516f0516ae425a20 100644
--- a/app/views/search/index.html.erb
+++ b/app/views/search/index.html.erb
@@ -18,7 +18,7 @@
       <div class="dropdown-element">
 
         <% @subjects.each  do |subject|%>
-          <label class="label-checkbox"><h4><%= subject %><input value="<%= subject %>" name="filter-subject" type="checkbox"/></h4></label><br>
+          <label class="label-checkbox"><%= subject %><input value="<%= subject %>" name="filter-subject" type="checkbox"/></label><br>
         <% end %>
       </div>
 
@@ -197,7 +197,7 @@
       <h3 class="dropdown open">Conteúdo<span class="caret caret-align-right"/></h3><!--Tipo 1-->
       <div class="dropdown-element">
         <% @types.each do |type| %>
-          <label class="label-checkbox"><h4><input value="<%= type %>" name="filter-type" type="checkbox"> <%= type %></h4></label><br/>
+          <label class="label-checkbox"><input value="<%= type %>" name="filter-type" type="checkbox"> <%= type %></label><br/>
         <% end %>
         <!-- <table class="tipo1" style="width:100%">
           <tr>
@@ -259,26 +259,11 @@
       <% end %>
 
 
-      <h3 class="dropdown">Ano escolar<span class="caret caret-align-right"/></h3>
+      <h3 class="dropdown">Níveis de Ensino<span class="caret caret-align-right"/></h3>
       <div class="dropdown-element">
-        <table style="width:100%">
-          <tr>
-            <td><input value="1" name="filter-school-year" type="checkbox">1º</td>
-            <td><input value="5" name="filter-school-year" type="checkbox">5º</td>
-          </tr>
-          <tr>
-            <td><input value="2" name="filter-school-year" type="checkbox">2º</td>
-            <td><input value="6" name="filter-school-year" type="checkbox">6º</td>
-          </tr>
-          <tr>
-            <td><input value="3" name="filter-school-year" type="checkbox">3º</td>
-            <td><input value="7" name="filter-school-year" type="checkbox">7º</td>
-          </tr>
-          <tr>
-            <td><input value="4" name="filter-school-year" type="checkbox">4º</td>
-            <td><input value="8" name="filter-school-year" type="checkbox">8º</td>
-          </tr>
-        </table>
+        <% @school_levels.each  do |school_level|%>
+          <label class="label-checkbox"><%= school_level %><input value="<%= school_level %>" name="filter-school-level" type="checkbox"/></label><br>
+        <% end %>
       </div>
     </div>
     <!-- fim div class="nestedAccordion"-->
@@ -366,7 +351,7 @@
       switch (item.type) {
         case 'subject': return 'label label-success';
         case 'type'   : return 'label label-default';
-        case 'school_year'     : return 'label label-warning';
+        case 'school_level'     : return 'label label-warning';
         case 'year'     : return 'label label-info';
       }
     },