From a09b84389e6ac8120e37bc9f93fa789f5394e0a7 Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Mon, 16 Dec 2019 18:57:33 -0800 Subject: [PATCH] Cleaned up search notifications --- CHANGELOG.md | 3 ++- lib/searchkick/logging.rb | 25 +++++++++---------------- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a43418..4555944 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,9 @@ -## 4.1.2 (unreleased) +## 4.2.0 (unreleased) - Added safety check for multiple `Model.reindex` - Added `deep_paging` option - Added request parameters to `curl` representation +- Cleaned up search notifications ## 4.1.1 (2019-11-19) diff --git a/lib/searchkick/logging.rb b/lib/searchkick/logging.rb index 44bb1d8..2dd5a70 100644 --- a/lib/searchkick/logging.rb +++ b/lib/searchkick/logging.rb @@ -7,7 +7,8 @@ module Searchkick name = searchkick_klass ? "#{searchkick_klass.name} Search" : "Search" event = { name: name, - query: params + query: params, + term: term } ActiveSupport::Notifications.instrument("search.searchkick", event) do super @@ -132,7 +133,8 @@ module Searchkick def multi_search(searches) event = { name: "Multi Search", - body: searches.flat_map { |q| [q.params.except(:body).to_json, q.body.to_json] }.map { |v| "#{v}\n" }.join + body: searches.flat_map { |q| [q.params.except(:body).to_json, q.body.to_json] }.map { |v| "#{v}\n" }.join, + term: searches.first.term } ActiveSupport::Notifications.instrument("multi_search.searchkick", event) do super @@ -162,17 +164,9 @@ module Searchkick payload = event.payload name = "#{payload[:name]} (#{event.duration.round(1)}ms)" - type = payload[:query][:type] - index = payload[:query][:index].is_a?(Array) ? payload[:query][:index].join(",") : payload[:query][:index] - request_params = payload[:query].except(:index, :type, :body) - - # no easy way to tell which host the client will use - host = Searchkick.client.transport.hosts.first - params = ["pretty"] - request_params.each do |k, v| - params << "#{CGI.escape(k.to_s)}=#{CGI.escape(v.to_s)}" - end - debug " #{color(name, YELLOW, true)} curl #{host[:protocol]}://#{host[:host]}:#{host[:port]}/#{CGI.escape(index)}#{type ? "/#{type.map { |t| CGI.escape(t) }.join(',')}" : ''}/_search?#{params.join('&')} -H 'Content-Type: application/json' -d '#{payload[:query][:body].to_json}'" + message = {term: payload[:term]} + + debug " #{color(name, YELLOW, true)} #{message.to_json}" end def request(event) @@ -191,10 +185,9 @@ module Searchkick payload = event.payload name = "#{payload[:name]} (#{event.duration.round(1)}ms)" + message = {term: payload[:term]} - # no easy way to tell which host the client will use - host = Searchkick.client.transport.hosts.first - debug " #{color(name, YELLOW, true)} curl #{host[:protocol]}://#{host[:host]}:#{host[:port]}/_msearch?pretty -H 'Content-Type: application/json' -d '#{payload[:body]}'" + debug " #{color(name, YELLOW, true)} #{message.to_json}" end end -- libgit2 0.21.0