Commit 6522ba3b35589abc09bf4b36a5f5bb5c335e7d40
1 parent
96733e00
Exists in
master
and in
21 other branches
Treat _id and id differently - closes #203
Showing
4 changed files
with
5 additions
and
6 deletions
Show diff stats
CHANGELOG.md
lib/searchkick/index.rb
@@ -83,7 +83,8 @@ module Searchkick | @@ -83,7 +83,8 @@ module Searchkick | ||
83 | source = record.search_data | 83 | source = record.search_data |
84 | 84 | ||
85 | # stringify fields | 85 | # stringify fields |
86 | - source = source.inject({}){|memo,(k,v)| memo[k.to_s] = v; memo}.except("id", "_id") | 86 | + source = source.inject({}){|memo,(k,v)| memo[k.to_s] = v; memo}.except("_id") |
87 | + source["id"] ||= search_id(record) | ||
87 | 88 | ||
88 | options = record.class.searchkick_options | 89 | options = record.class.searchkick_options |
89 | 90 |
lib/searchkick/query.rb
@@ -195,8 +195,7 @@ module Searchkick | @@ -195,8 +195,7 @@ module Searchkick | ||
195 | 195 | ||
196 | # order | 196 | # order |
197 | if options[:order] | 197 | if options[:order] |
198 | - order = options[:order].is_a?(Enumerable) ? options[:order] : {options[:order] => :asc} | ||
199 | - payload[:sort] = Hash[ order.map{|k, v| [k.to_s == "id" ? :_id : k, v] } ] | 198 | + payload[:sort] = options[:order].is_a?(Enumerable) ? options[:order] : {options[:order] => :asc} |
200 | end | 199 | end |
201 | 200 | ||
202 | # filters | 201 | # filters |
@@ -383,8 +382,6 @@ module Searchkick | @@ -383,8 +382,6 @@ module Searchkick | ||
383 | def where_filters(where) | 382 | def where_filters(where) |
384 | filters = [] | 383 | filters = [] |
385 | (where || {}).each do |field, value| | 384 | (where || {}).each do |field, value| |
386 | - field = :_id if field.to_s == "id" | ||
387 | - | ||
388 | if field == :or | 385 | if field == :or |
389 | value.each do |or_clause| | 386 | value.each do |or_clause| |
390 | filters << {or: or_clause.map{|or_statement| {and: where_filters(or_statement)} }} | 387 | filters << {or: or_clause.map{|or_statement| {and: where_filters(or_statement)} }} |
lib/searchkick/results.rb
@@ -39,7 +39,7 @@ module Searchkick | @@ -39,7 +39,7 @@ module Searchkick | ||
39 | else | 39 | else |
40 | hits.map do |hit| | 40 | hits.map do |hit| |
41 | result = hit.except("_source").merge(hit["_source"]) | 41 | result = hit.except("_source").merge(hit["_source"]) |
42 | - result["id"] = result["_id"] | 42 | + result["id"] ||= result["_id"] # needed for legacy reasons |
43 | Hashie::Mash.new(result) | 43 | Hashie::Mash.new(result) |
44 | end | 44 | end |
45 | end | 45 | end |