diff --git a/lib/searchkick/query.rb b/lib/searchkick/query.rb
index 280c4f8..9f1b861 100644
--- a/lib/searchkick/query.rb
+++ b/lib/searchkick/query.rb
@@ -396,7 +396,8 @@ module Searchkick
per_page: @per_page,
padding: @padding,
load: @load,
- includes: options[:include] || options[:includes]
+ includes: options[:include] || options[:includes],
+ json: !options[:json].nil?
}
Searchkick::Results.new(searchkick_klass, response, opts)
end
diff --git a/lib/searchkick/results.rb b/lib/searchkick/results.rb
index 2196872..a278245 100644
--- a/lib/searchkick/results.rb
+++ b/lib/searchkick/results.rb
@@ -67,7 +67,7 @@ module Searchkick
each_with_hit.map do |model, hit|
details = {}
if hit["highlight"]
- details[:highlight] = Hash[ hit["highlight"].map{|k, v| [k.sub(/\.analyzed\z/, "").to_sym, v.first] } ]
+ details[:highlight] = Hash[ hit["highlight"].map{|k, v| [options[:json] ? k : k.sub(/\.analyzed\z/, "").to_sym, v.first] } ]
end
[model, details]
end
diff --git a/test/highlight_test.rb b/test/highlight_test.rb
index 6827e39..9c84ed3 100644
--- a/test/highlight_test.rb
+++ b/test/highlight_test.rb
@@ -35,7 +35,7 @@ class TestHighlight < Minitest::Unit::TestCase
}
}
}
- assert_equal "Two Door Cinema Club", Product.search(json: json).response["hits"]["hits"].first["highlight"]["name.analyzed"].first
+ assert_equal "Two Door Cinema Club", Product.search(json: json).with_details.first[1][:highlight]["name.analyzed"]
end
end
--
libgit2 0.21.0