diff --git a/Gemfile b/Gemfile
index cfcb968b1c9b7c34a1f224931644c280ebe7a814..e5e60aa5254284f3cf381721504cd78ab1e1d225 100644
--- a/Gemfile
+++ b/Gemfile
@@ -134,7 +134,7 @@ gem 'gitlab'
 gem 'pundit'
 
 # elasticsearch integration
-gem 'searchkick', '~> 1.3.6'
+gem 'searchkick'
 
 # enable/disable features by enviroments
 gem 'feature'
diff --git a/Gemfile.lock b/Gemfile.lock
index f97d5f9128b3660afd5c71726d93f55fab402077..173c4cd951d54bccc257cfe0eb887dc348f045c8 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -44,7 +44,7 @@ GEM
       erubis (~> 2.7.0)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.0.2)
-    active_model_serializers (0.10.5)
+    active_model_serializers (0.10.6)
       actionpack (>= 4.1, < 6)
       activemodel (>= 4.1, < 6)
       case_transform (>= 0.2)
@@ -58,14 +58,14 @@ GEM
       activemodel (= 5.0.0.1)
       activesupport (= 5.0.0.1)
       arel (~> 7.0)
-    activerecord-import (0.17.2)
+    activerecord-import (0.18.2)
       activerecord (>= 3.2)
     activesupport (5.0.0.1)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (~> 0.7)
       minitest (~> 5.1)
       tzinfo (~> 1.1)
-    acts_as_list (0.9.4)
+    acts_as_list (0.9.5)
       activerecord (>= 3.0)
     addressable (2.5.1)
       public_suffix (~> 2.0, >= 2.0.2)
@@ -124,8 +124,8 @@ GEM
       dm-validations (~> 1.2.0)
     data_objects (0.10.17)
       addressable (~> 2.1)
-    database_cleaner (1.5.3)
-    dawnscanner (1.6.7)
+    database_cleaner (1.6.1)
+    dawnscanner (1.6.8)
       cvss
       data_mapper
       dm-sqlite-adapter
@@ -137,7 +137,7 @@ GEM
       sqlite3
       sys-uname
       terminal-table
-    debug_inspector (0.0.2)
+    debug_inspector (0.0.3)
     derailed_benchmarks (1.3.2)
       benchmark-ips (~> 2)
       get_process_mem (~> 0)
@@ -194,12 +194,12 @@ GEM
       dm-core (~> 1.2.0)
     do_sqlite3 (0.10.17)
       data_objects (= 0.10.17)
-    elasticsearch (5.0.3)
-      elasticsearch-api (= 5.0.3)
-      elasticsearch-transport (= 5.0.3)
-    elasticsearch-api (5.0.3)
+    elasticsearch (5.0.4)
+      elasticsearch-api (= 5.0.4)
+      elasticsearch-transport (= 5.0.4)
+    elasticsearch-api (5.0.4)
       multi_json
-    elasticsearch-transport (5.0.3)
+    elasticsearch-transport (5.0.4)
       faraday
       multi_json
     equalizer (0.0.11)
@@ -218,7 +218,7 @@ GEM
     feature (1.4.0)
     ffi (1.9.18)
     flamegraph (0.9.5)
-    flay (2.8.1)
+    flay (2.9.0)
       erubis (~> 2.7.0)
       path_expander (~> 1.0)
       ruby_parser (~> 3.0)
@@ -228,17 +228,17 @@ GEM
       ruby_parser (~> 3.1, > 3.1.0)
       sexp_processor (~> 4.8)
     get_process_mem (0.2.1)
-    gitlab (3.7.0)
-      httparty (~> 0.13.0)
-      terminal-table
-    globalid (0.3.7)
-      activesupport (>= 4.1.0)
-    haml (4.0.7)
+    gitlab (4.0.0)
+      httparty
+      terminal-table (= 1.7.1)
+    globalid (0.4.0)
+      activesupport (>= 4.2.0)
+    haml (5.0.1)
+      temple (>= 0.8.0)
       tilt
     hashie (3.5.5)
     heapy (0.1.2)
-    httparty (0.13.7)
-      json (~> 1.8)
+    httparty (0.14.0)
       multi_xml (>= 0.5.2)
     i18n (0.8.1)
     ice_nine (0.11.2)
@@ -255,7 +255,7 @@ GEM
     logger-colors (1.0.0)
     loofah (2.0.3)
       nokogiri (>= 1.5.9)
-    mail (2.6.4)
+    mail (2.6.5)
       mime-types (>= 1.16, < 4)
     memory_profiler (0.9.8)
     method_source (0.8.2)
@@ -267,7 +267,7 @@ GEM
       open4 (~> 1.3.4)
       rake
     mini_portile2 (2.1.0)
-    minitest (5.10.1)
+    minitest (5.10.2)
     minitest-reporters (1.1.14)
       ansi
       builder
@@ -277,9 +277,10 @@ GEM
     multi_xml (0.6.0)
     multipart-post (2.0.0)
     mustache (1.0.5)
+    mustermann (1.0.0)
     net-http-persistent (2.9.4)
     nio4r (1.2.1)
-    nokogiri (1.7.1)
+    nokogiri (1.7.2)
       mini_portile2 (~> 2.1.0)
     oauth (0.5.1)
     oauth2 (1.3.1)
@@ -309,7 +310,7 @@ GEM
       rack
     open4 (1.3.4)
     orm_adapter (0.5.0)
-    paper_trail (6.0.2)
+    paper_trail (7.0.2)
       activerecord (>= 4.0, < 5.2)
       request_store (~> 1.1)
     paperclip (5.1.0)
@@ -320,7 +321,7 @@ GEM
       mimemagic (~> 0.3.0)
     parser (2.4.0.0)
       ast (~> 2.2)
-    path_expander (1.0.1)
+    path_expander (1.0.2)
     pg (0.20.0)
     phantomjs (2.1.1.0)
     powerpack (0.1.1)
@@ -334,13 +335,13 @@ GEM
     puma (3.8.2)
     pundit (1.1.0)
       activesupport (>= 3.0.0)
-    rack (2.0.1)
+    rack (2.0.2)
     rack-attack (5.0.1)
       rack
     rack-cors (0.4.1)
     rack-mini-profiler (0.10.2)
       rack (>= 1.2.0)
-    rack-protection (1.5.3)
+    rack-protection (2.0.0)
       rack
     rack-test (0.6.3)
       rack (>= 1.0)
@@ -372,46 +373,48 @@ GEM
       method_source
       rake (>= 0.8.7)
       thor (>= 0.18.1, < 2.0)
-    rainbow (2.2.1)
+    rainbow (2.2.2)
+      rake
     rake (11.3.0)
     rdoc (4.3.0)
     redis (3.3.3)
-    reek (4.5.6)
+    reek (4.6.2)
       codeclimate-engine-rb (~> 0.4.0)
-      parser (>= 2.3.1.2, < 2.5)
+      parser (>= 2.4.0.0, < 2.5)
       rainbow (~> 2.0)
     request_store (1.3.2)
     resource_kit (0.1.6)
       addressable (>= 2.3.6, < 3.0.0)
-    responders (2.3.0)
-      railties (>= 4.2.0, < 5.1)
+    responders (2.4.0)
+      actionpack (>= 4.2.0, < 5.3)
+      railties (>= 4.2.0, < 5.3)
     rmagick (2.16.0)
-    rspec (3.5.0)
-      rspec-core (~> 3.5.0)
-      rspec-expectations (~> 3.5.0)
-      rspec-mocks (~> 3.5.0)
-    rspec-core (3.5.4)
-      rspec-support (~> 3.5.0)
-    rspec-expectations (3.5.0)
+    rspec (3.6.0)
+      rspec-core (~> 3.6.0)
+      rspec-expectations (~> 3.6.0)
+      rspec-mocks (~> 3.6.0)
+    rspec-core (3.6.0)
+      rspec-support (~> 3.6.0)
+    rspec-expectations (3.6.0)
       diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.5.0)
-    rspec-mocks (3.5.0)
+      rspec-support (~> 3.6.0)
+    rspec-mocks (3.6.0)
       diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.5.0)
-    rspec-rails (3.5.2)
+      rspec-support (~> 3.6.0)
+    rspec-rails (3.6.0)
       actionpack (>= 3.0)
       activesupport (>= 3.0)
       railties (>= 3.0)
-      rspec-core (~> 3.5.0)
-      rspec-expectations (~> 3.5.0)
-      rspec-mocks (~> 3.5.0)
-      rspec-support (~> 3.5.0)
-    rspec-support (3.5.0)
+      rspec-core (~> 3.6.0)
+      rspec-expectations (~> 3.6.0)
+      rspec-mocks (~> 3.6.0)
+      rspec-support (~> 3.6.0)
+    rspec-support (3.6.0)
     rspec_api_documentation (4.9.0)
       activesupport (>= 3.0.0)
       mustache (~> 1.0, >= 0.99.4)
       rspec (~> 3.0)
-    rubocop (0.48.0)
+    rubocop (0.48.1)
       parser (>= 2.3.3.1, < 3.0)
       powerpack (~> 0.1)
       rainbow (>= 1.99.1, < 3.0)
@@ -419,7 +422,7 @@ GEM
       unicode-display_width (~> 1.0, >= 1.0.1)
     ruby-graphviz (1.2.3)
     ruby-progressbar (1.8.1)
-    ruby_parser (3.8.4)
+    ruby_parser (3.9.0)
       sexp_processor (~> 4.1)
     rubycritic (3.2.0)
       flay (~> 2.8)
@@ -436,26 +439,29 @@ GEM
     sdoc (0.4.2)
       json (~> 1.7, >= 1.7.7)
       rdoc (~> 4.0)
-    searchkick (1.3.6)
-      activemodel
+    searchkick (2.3.0)
+      activemodel (>= 4.1)
       elasticsearch (>= 1)
       hashie
-    sexp_processor (4.8.0)
+    sexp_processor (4.9.0)
     shoulda (3.5.0)
       shoulda-context (~> 1.0, >= 1.0.1)
       shoulda-matchers (>= 1.4.1, < 3.0)
     shoulda-context (1.2.2)
     shoulda-matchers (2.8.0)
       activesupport (>= 3.0.0)
-    sidekiq (4.2.10)
+    sidekiq (5.0.0)
       concurrent-ruby (~> 1.0)
       connection_pool (~> 2.2, >= 2.2.0)
       rack-protection (>= 1.5.0)
-      redis (~> 3.2, >= 3.2.1)
-    sinatra (1.0)
-      rack (>= 1.0)
-    slim (3.0.7)
-      temple (~> 0.7.6)
+      redis (~> 3.3, >= 3.3.3)
+    sinatra (2.0.0)
+      mustermann (~> 1.0)
+      rack (~> 2.0)
+      rack-protection (= 2.0.0)
+      tilt (~> 2.0)
+    slim (3.0.8)
+      temple (>= 0.7.6, < 0.9)
       tilt (>= 1.3.3, < 2.1)
     spring (2.0.1)
       activesupport (>= 4.2)
@@ -472,8 +478,8 @@ GEM
     stringex (1.5.1)
     sys-uname (1.0.3)
       ffi (>= 1.0.0)
-    temple (0.7.7)
-    terminal-table (1.7.3)
+    temple (0.8.0)
+    terminal-table (1.7.1)
       unicode-display_width (~> 1.1.1)
     thor (0.19.4)
     thread_safe (0.3.6)
@@ -559,7 +565,7 @@ DEPENDENCIES
   rubyzip
   screencap
   sdoc (~> 0.4.0)
-  searchkick (~> 1.3.6)
+  searchkick
   shoulda
   sidekiq
   sinatra
diff --git a/app/services/search_service/collection.rb b/app/services/search_service/collection.rb
index 5bd29469709d51634c3d8489b27f653afed1edd1..4bf4e400a3d5126fb3215aa46c1fdf4e735ade66 100644
--- a/app/services/search_service/collection.rb
+++ b/app/services/search_service/collection.rb
@@ -1,7 +1,7 @@
 module SearchService
   class Collection < Model
     def search
-      ::Collection.search(query: mount_query, order: order_hash, page: @search.page, per_page: @search.results_per_page)
+      ::Collection.search(body: mount_query, order: order_hash, page: @search.page, per_page: @search.results_per_page)
     end
 
     def autocomplete
diff --git a/app/services/search_service/learning_object.rb b/app/services/search_service/learning_object.rb
index bff63f89f5d272e4c242eab493cea34bac8e619f..fbd32481d70ccacfc15170ff719e4e5add395ac0 100644
--- a/app/services/search_service/learning_object.rb
+++ b/app/services/search_service/learning_object.rb
@@ -2,7 +2,7 @@ module SearchService
   class LearningObject < Model
     def search
       fields = [:license, :tags, :subjects, :educational_stages, :taggings, :publisher, :language, :attachments, :reviews]
-      ::LearningObject.search(query: mount_query, includes: fields, order: order_hash, page: @search.page, per_page: @search.results_per_page)
+      ::LearningObject.search(body: mount_query, includes: fields, order: order_hash, page: @search.page, per_page: @search.results_per_page)
     end
 
     def autocomplete
diff --git a/app/services/search_service/model.rb b/app/services/search_service/model.rb
index d37c3fc8909628ef068b3ff8f1ecf7bb3f54f1c7..6c93c75928b50a86b00a2228a50c8363faaf17cf 100644
--- a/app/services/search_service/model.rb
+++ b/app/services/search_service/model.rb
@@ -38,24 +38,28 @@ module SearchService
 
     def mount_query
       match_all_query = {
-        bool: {
-          must: {
-            match_all: {}
-          },
-          filter: mount_filter
+        query: {
+          bool: {
+            must: {
+              match_all: {}
+            },
+            filter: mount_filter
+          }
         }
       }
       return match_all_query if @search.query == '*'
 
-      {
-        function_score: {
-          query: { bool: {
-            must: { dis_max: { queries: mount_queries } },
-            filter: mount_filter
-          } },
-          functions: [{ script_score: { script: { lang: 'groovy', file: 'calculate_score' } } }]
+      {   
+        query:{
+          function_score: {
+            query: { bool: {
+              must: { dis_max: { queries: mount_queries } },
+              filter: mount_filter
+            } },
+            functions: [{ script_score: { script: { lang: 'groovy', file: 'calculate_score' } } }]
+          }
         }
-      }
+    }
     end
 
     def mount_queries
diff --git a/app/services/search_service/user.rb b/app/services/search_service/user.rb
index c9afd7790f52d404f93c74aa426155a4d24bcc0a..ea8ef836da2db171ffc9327f8afe79f82bc8acde 100644
--- a/app/services/search_service/user.rb
+++ b/app/services/search_service/user.rb
@@ -1,7 +1,7 @@
 module SearchService
   class User < Model
     def search
-      ::User.search(query: mount_query, order: order_hash, page: @search.page, per_page: @search.results_per_page)
+      ::User.search(body: mount_query, order: order_hash, page: @search.page, per_page: @search.results_per_page)
     end
 
     def autocomplete
diff --git a/config/initializers/elasticsearch.rb b/config/initializers/elasticsearch.rb
new file mode 100644
index 0000000000000000000000000000000000000000..e591a06b27196300668419e7f35019e6aef8f257
--- /dev/null
+++ b/config/initializers/elasticsearch.rb
@@ -0,0 +1,6 @@
+Searchkick.client =
+    Elasticsearch::Client.new(
+        url: 'localhost:9200',
+        transport_options: {request: {timeout: 550}}
+    )
+