diff --git a/lib/searchkick/results.rb b/lib/searchkick/results.rb index 9709b56..8a2efc7 100644 --- a/lib/searchkick/results.rb +++ b/lib/searchkick/results.rb @@ -44,7 +44,7 @@ module Searchkick if hit["_source"] hit.except("_source").merge(hit["_source"]) else - hit.except("fields").merge(Hash[ hit["fields"].map{|k, v| [k, v.first] } ]) + hit.except("fields").merge(hit["fields"]) end result["id"] ||= result["_id"] # needed for legacy reasons Hashie::Mash.new(result) diff --git a/test/sql_test.rb b/test/sql_test.rb index 010da5e..3a75058 100644 --- a/test/sql_test.rb +++ b/test/sql_test.rb @@ -283,7 +283,13 @@ class TestSql < Minitest::Unit::TestCase store [{name: "Product A", store_id: 1}] result = Product.search("product", load: false, select: [:name, :store_id]).first assert_equal %w[id name store_id], result.keys.reject{|k| k.start_with?("_") }.sort - assert_equal "Product A", result.name + assert_equal ["Product A"], result.name # this is not great + end + + def test_select_array + store [{name: "Product A", user_ids: [1, 2]}] + result = Product.search("product", load: false, select: [:user_ids]).first + assert_equal [1, 2], result.user_ids end # TODO see if Mongoid is loaded -- libgit2 0.21.0