From 76656c6bf9283c9718045b3fa06a6f562a3b5d30 Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Tue, 20 May 2014 21:54:47 -0700 Subject: [PATCH] Reverted treat _id and id differently - #203 --- CHANGELOG.md | 3 +-- lib/searchkick/index.rb | 1 - lib/searchkick/query.rb | 5 ++++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ed056f..cb4ede8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,5 @@ -## 0.8.0 [unreleased] +## 0.7.6 [unreleased] -- Treat `id` and `_id` differently - Added `stats` option to facets - Added `padding` option diff --git a/lib/searchkick/index.rb b/lib/searchkick/index.rb index 594c8b1..e136feb 100644 --- a/lib/searchkick/index.rb +++ b/lib/searchkick/index.rb @@ -86,7 +86,6 @@ module Searchkick # stringify fields # remove _id since search_id is used instead source = source.inject({}){|memo,(k,v)| memo[k.to_s] = v; memo}.except("_id") - source["id"] ||= search_id(record) # conversions conversions_field = options[:conversions] diff --git a/lib/searchkick/query.rb b/lib/searchkick/query.rb index 278db75..26926c8 100644 --- a/lib/searchkick/query.rb +++ b/lib/searchkick/query.rb @@ -195,7 +195,8 @@ module Searchkick # order if options[:order] - payload[:sort] = options[:order].is_a?(Enumerable) ? options[:order] : {options[:order] => :asc} + order = options[:order].is_a?(Enumerable) ? options[:order] : {options[:order] => :asc} + payload[:sort] = Hash[ order.map{|k, v| [k.to_s == "id" ? :_id : k, v] } ] end # filters @@ -382,6 +383,8 @@ module Searchkick def where_filters(where) filters = [] (where || {}).each do |field, value| + field = :_id if field.to_s == "id" + if field == :or value.each do |or_clause| filters << {or: or_clause.map{|or_statement| {and: where_filters(or_statement)} }} -- libgit2 0.21.0