diff --git a/app/repositories/orient_db/learning_object_repository.rb b/app/repositories/orient_db/learning_object_repository.rb
index 51e747d9bd442255692884d08b39a4674fb7166a..96d2cb6319c4ba4f9ad6a0575b19a42e2343afe1 100644
--- a/app/repositories/orient_db/learning_object_repository.rb
+++ b/app/repositories/orient_db/learning_object_repository.rb
@@ -77,7 +77,7 @@ module OrientDb
                                 SELECT EXPAND(rid)
                                 FROM index:learningobject_search
                                 WHERE key LUCENE '#{qry}'
-                              ", limit: -1
+                              ", limit: 10000
       build_objects(learning_objects_hash) || []
     end
 
diff --git a/config/orientdb.yml b/config/orientdb.yml
index 7c25a5c84c4c90bca4a1b078509cc12039527486..07945002eacbdb755ce3058bf6ff217959fc76e8 100644
--- a/config/orientdb.yml
+++ b/config/orientdb.yml
@@ -1,6 +1,6 @@
 development: &development
   host: localhost
-  database: Teste2
+  database: PortalMEC
   username: admin
   password: admin
   port: 2480
diff --git a/lib/orient_db/migration.rb b/lib/orient_db/migration.rb
index 0d282d3183fd08b1481242d98b2bfd519a85d60f..466003fa1593ec70c0225db75f9a3bd8a22287f1 100644
--- a/lib/orient_db/migration.rb
+++ b/lib/orient_db/migration.rb
@@ -35,19 +35,33 @@ module OrientDb
       end
     end
 
-    def add_index(klass, property, type, engine=nil, metadata=nil)
+    def add_index(klass, properties, type, name=nil, engine=nil, metadata=nil)
       engine = engine.nil? ? "" : " ENGINE #{engine}"
       metadata = metadata.nil? ? "" : " METADATA #{metadata.to_s}"
+      props = stringify(properties,", ")
+      name = name.nil? ? "#{klass}."+stringify(properties,"_") : name;
+      
       begin
-        @client.command "CREATE INDEX #{klass}.#{property} ON #{klass} (#{property}) #{type}#{engine}#{metadata}"
+        index = "CREATE INDEX #{name} ON #{klass} (#{props}) #{type}#{engine}#{metadata}"
+        @client.command index
       rescue Orientdb4r::ServerError => e
         # If the index already exists OrientDB will give an error containing this message
-        unless e.message.include? "Index with name #{klass.downcase}.#{property.downcase}"
+        unless e.message.include? "Index with name #{name.downcase}"
           puts "Error at index creation"
           p e.message
-          p.backtrace
+          p e.backtrace
         end
       end
     end
+
+    private
+    def stringify(array, separator)
+      str = ""
+      array.each do |value|
+        str += value.to_s+separator 
+      end
+      str[0..-(separator.size+1)]
+    end
+
   end
 end
\ No newline at end of file
diff --git a/lib/orient_db/migrations/create_attribute.rb b/lib/orient_db/migrations/create_attribute.rb
index db0de64764326513ede16021446a9368fe9fb9c0..b297b6849e947efc44d1899e53f4164284f83fe3 100644
--- a/lib/orient_db/migrations/create_attribute.rb
+++ b/lib/orient_db/migrations/create_attribute.rb
@@ -5,9 +5,9 @@ class OrientDb::Migrations::CreateAttribute < OrientDb::Migration
         c.property 'key', :string
         c.property 'value', :string
     end
-    add_index 'Attribute', 'key', "NOTUNIQUE_HASH_INDEX"
+    add_index 'Attribute', ['key'], "NOTUNIQUE_HASH_INDEX"
     metadata = {:analyzer => "org.apache.lucene.analysis.br.BrazilianAnalyzer"}
-    add_index 'Attribute', 'value', "FULLTEXT", "LUCENE", metadata.to_json
+    add_index 'Attribute', ['value'], "FULLTEXT", nil, "LUCENE", metadata.to_json
   end
 
   def down
diff --git a/lib/orient_db/migrations/create_learning_object.rb b/lib/orient_db/migrations/create_learning_object.rb
index 194fedb43ebad70e53e02647dc1a404c4dd7a0a3..7d3a15a66f66ad31de9cd7fcf201904e3a61848b 100644
--- a/lib/orient_db/migrations/create_learning_object.rb
+++ b/lib/orient_db/migrations/create_learning_object.rb
@@ -8,7 +8,9 @@ class OrientDb::Migrations::CreateLearningObject < OrientDb::Migration
         c.property 'type', :string
         c.property 'metadata', :string
     end
-    add_index 'LearningObject', 'id_dspace', :type => "UNIQUE_HASH_INDEX"
+    add_index 'LearningObject', ['id_dspace'], "UNIQUE_HASH_INDEX"
+    metadata = {:analyzer => "org.apache.lucene.analysis.br.BrazilianAnalyzer"}
+    add_index 'LearningObject', ['name', 'description'], "FULLTEXT", "learningobject_search", "LUCENE", metadata.to_json
   end
 
   def down
diff --git a/lib/orient_db/migrations/create_user.rb b/lib/orient_db/migrations/create_user.rb
index 887c6be713a59ec266711512f01e704e5e5199b1..3c7406f4338f4b8cdebfd5355cebc217ece45bc4 100644
--- a/lib/orient_db/migrations/create_user.rb
+++ b/lib/orient_db/migrations/create_user.rb
@@ -4,7 +4,7 @@ class OrientDb::Migrations::CreateUser < OrientDb::Migration
     create_class 'User', 'V' do |c|
         c.property 'p_id', :integer, :mandatory => true, :notnull => true
     end
-    add_index 'User', 'p_id', "UNIQUE_HASH_INDEX"
+    add_index 'User', ['p_id'], "UNIQUE_HASH_INDEX"
   end
 
   def down