diff --git a/CHANGELOG.md b/CHANGELOG.md index fc1c73d..bf99736 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ - Raise error when `search` called on relations - Raise `ArgumentError` (instead of warning) for invalid regular expression modifiers - Raise `ArgumentError` instead of `RuntimeError` for unknown operators +- Removed mapping of `id` to `_id` with `order` option - Dropped support for Ruby < 2.6 and Active Record < 5.2 - Dropped support for NoBrainer and Cequel - Dropped support for `faraday_middleware-aws-signers-v4` (use `faraday_middleware-aws-sigv4` instead) diff --git a/lib/searchkick/query.rb b/lib/searchkick/query.rb index ef3f0b4..f51c2ce 100644 --- a/lib/searchkick/query.rb +++ b/lib/searchkick/query.rb @@ -873,11 +873,7 @@ module Searchkick end def set_order(payload) - order = options[:order].is_a?(Enumerable) ? options[:order] : {options[:order] => :asc} - id_field = :_id - # TODO no longer map id to _id in Searchkick 5 - # since sorting on _id is deprecated in Elasticsearch - payload[:sort] = order.is_a?(Array) ? order : Hash[order.map { |k, v| [k.to_s == "id" ? id_field : k, v] }] + payload[:sort] = options[:order].is_a?(Enumerable) ? options[:order] : {options[:order] => :asc} end def where_filters(where) diff --git a/test/order_test.rb b/test/order_test.rb index f9afaf9..fb159f6 100644 --- a/test/order_test.rb +++ b/test/order_test.rb @@ -11,20 +11,6 @@ class OrderTest < Minitest::Test assert_order "product", ["Product A", "Product B", "Product C", "Product D"], order: "name" end - # TODO no longer map id to _id in Searchkick 5 - # since sorting on _id is deprecated in Elasticsearch - def test_id - store_names ["Product A", "Product B"] - product_a = Product.where(name: "Product A").first - product_b = Product.where(name: "Product B").first - _, stderr = capture_io do - assert_order "product", [product_a, product_b].sort_by { |r| r.id.to_s }.map(&:name), order: {id: :asc} - end - unless Searchkick.server_below?("7.6.0") - assert_match "Loading the fielddata on the _id field is deprecated", stderr - end - end - def test_multiple store [ {name: "Product A", color: "blue", store_id: 1}, -- libgit2 0.21.0