searchkick 0.9.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +10 -9
  3. data/CHANGELOG.md +14 -0
  4. data/README.md +190 -14
  5. data/lib/searchkick.rb +1 -0
  6. data/lib/searchkick/index.rb +8 -8
  7. data/lib/searchkick/logging.rb +4 -2
  8. data/lib/searchkick/model.rb +13 -10
  9. data/lib/searchkick/query.rb +107 -39
  10. data/lib/searchkick/reindex_job.rb +0 -2
  11. data/lib/searchkick/reindex_v2_job.rb +0 -1
  12. data/lib/searchkick/results.rb +18 -1
  13. data/lib/searchkick/tasks.rb +0 -2
  14. data/lib/searchkick/version.rb +1 -1
  15. data/test/aggs_test.rb +102 -0
  16. data/test/autocomplete_test.rb +1 -3
  17. data/test/boost_test.rb +1 -3
  18. data/{ci → test/ci}/before_install.sh +4 -3
  19. data/test/facets_test.rb +4 -6
  20. data/{gemfiles → test/gemfiles}/activerecord31.gemfile +1 -1
  21. data/{gemfiles → test/gemfiles}/activerecord32.gemfile +1 -1
  22. data/{gemfiles → test/gemfiles}/activerecord40.gemfile +1 -1
  23. data/{gemfiles → test/gemfiles}/activerecord41.gemfile +1 -1
  24. data/{gemfiles → test/gemfiles}/mongoid2.gemfile +1 -1
  25. data/{gemfiles → test/gemfiles}/mongoid3.gemfile +1 -1
  26. data/{gemfiles → test/gemfiles}/mongoid4.gemfile +1 -1
  27. data/test/gemfiles/mongoid5.gemfile +7 -0
  28. data/{gemfiles → test/gemfiles}/nobrainer.gemfile +1 -1
  29. data/test/highlight_test.rb +2 -4
  30. data/test/index_test.rb +20 -9
  31. data/test/inheritance_test.rb +1 -3
  32. data/test/match_test.rb +8 -7
  33. data/test/model_test.rb +2 -4
  34. data/test/query_test.rb +1 -3
  35. data/test/records_test.rb +0 -2
  36. data/test/reindex_job_test.rb +1 -3
  37. data/test/reindex_v2_job_test.rb +1 -3
  38. data/test/routing_test.rb +4 -3
  39. data/test/should_index_test.rb +1 -3
  40. data/test/similar_test.rb +1 -3
  41. data/test/sql_test.rb +7 -9
  42. data/test/suggest_test.rb +1 -3
  43. data/test/synonyms_test.rb +1 -3
  44. data/test/test_helper.rb +23 -10
  45. metadata +24 -11
@@ -1,7 +1,6 @@
1
1
  require_relative "test_helper"
2
2
 
3
- class TestSuggest < Minitest::Test
4
-
3
+ class SuggestTest < Minitest::Test
5
4
  def test_basic
6
5
  store_names ["Great White Shark", "Hammerhead Shark", "Tiger Shark"]
7
6
  assert_suggest "How Big is a Tigre Shar", "how big is a tiger shark", fields: [:name]
@@ -78,5 +77,4 @@ class TestSuggest < Minitest::Test
78
77
  def assert_suggest_all(term, expected, options = {})
79
78
  assert_equal expected.sort, Product.search(term, options.merge(suggest: true)).suggestions.sort
80
79
  end
81
-
82
80
  end
@@ -1,7 +1,6 @@
1
1
  require_relative "test_helper"
2
2
 
3
- class TestSynonyms < Minitest::Test
4
-
3
+ class SynonymsTest < Minitest::Test
5
4
  def test_bleach
6
5
  store_names ["Clorox Bleach", "Kroger Bleach"]
7
6
  assert_search "clorox", ["Clorox Bleach", "Kroger Bleach"]
@@ -46,5 +45,4 @@ class TestSynonyms < Minitest::Test
46
45
  # store_names ["Creature", "Beast", "Dragon"], Animal
47
46
  # assert_search "animal", ["Creature", "Beast"], {}, Animal
48
47
  # end
49
-
50
48
  end
@@ -3,6 +3,7 @@ Bundler.require(:default)
3
3
  require "minitest/autorun"
4
4
  require "minitest/pride"
5
5
  require "logger"
6
+ require "active_support/core_ext" if defined?(NoBrainer)
6
7
 
7
8
  ENV["RACK_ENV"] = "test"
8
9
 
@@ -17,11 +18,25 @@ I18n.config.enforce_available_locales = true
17
18
 
18
19
  ActiveJob::Base.logger = nil if defined?(ActiveJob)
19
20
 
20
- if defined?(Mongoid)
21
+ def elasticsearch2?
22
+ Searchkick.server_version.starts_with?("2.")
23
+ end
21
24
 
22
- def mongoid2?
23
- Mongoid::VERSION.starts_with?("2.")
24
- end
25
+ def mongoid2?
26
+ defined?(Mongoid) && Mongoid::VERSION.starts_with?("2.")
27
+ end
28
+
29
+ def nobrainer?
30
+ defined?(NoBrainer)
31
+ end
32
+
33
+ def activerecord_below41?
34
+ defined?(ActiveRecord) && Gem::Version.new(ActiveRecord::VERSION::STRING) < Gem::Version.new("4.1.0")
35
+ end
36
+
37
+ if defined?(Mongoid)
38
+ Mongoid.logger.level = Logger::INFO
39
+ Mongo::Logger.logger.level = Logger::INFO if defined?(Mongo::Logger)
25
40
 
26
41
  if mongoid2?
27
42
  # enable comparison of BSON::ObjectIds
@@ -96,7 +111,7 @@ elsif defined?(NoBrainer)
96
111
  field :color, type: String
97
112
  field :latitude
98
113
  field :longitude
99
- field :description, type: String
114
+ field :description, type: String
100
115
 
101
116
  belongs_to :store, validates: false
102
117
  end
@@ -220,15 +235,15 @@ end
220
235
 
221
236
  class Store
222
237
  searchkick \
223
- routing: :name,
238
+ routing: elasticsearch2? ? false : "name",
224
239
  merge_mappings: true,
225
240
  mappings: {
226
241
  store: {
227
242
  properties: {
228
- name: {type: "string", analyzer: "keyword"},
243
+ name: {type: "string", analyzer: "keyword"}
229
244
  }
230
245
  }
231
- }
246
+ }
232
247
  end
233
248
 
234
249
  class Animal
@@ -247,7 +262,6 @@ Store.reindex
247
262
  Animal.reindex
248
263
 
249
264
  class Minitest::Test
250
-
251
265
  def setup
252
266
  Product.destroy_all
253
267
  Store.destroy_all
@@ -279,5 +293,4 @@ class Minitest::Test
279
293
  def assert_first(term, expected, options = {}, klass = Product)
280
294
  assert_equal expected, klass.search(term, options).map(&:name).first
281
295
  end
282
-
283
296
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: searchkick
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kane
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-01 00:00:00.000000000 Z
11
+ date: 2015-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -108,15 +108,6 @@ files:
108
108
  - LICENSE.txt
109
109
  - README.md
110
110
  - Rakefile
111
- - ci/before_install.sh
112
- - gemfiles/activerecord31.gemfile
113
- - gemfiles/activerecord32.gemfile
114
- - gemfiles/activerecord40.gemfile
115
- - gemfiles/activerecord41.gemfile
116
- - gemfiles/mongoid2.gemfile
117
- - gemfiles/mongoid3.gemfile
118
- - gemfiles/mongoid4.gemfile
119
- - gemfiles/nobrainer.gemfile
120
111
  - lib/searchkick.rb
121
112
  - lib/searchkick/index.rb
122
113
  - lib/searchkick/logging.rb
@@ -128,9 +119,20 @@ files:
128
119
  - lib/searchkick/tasks.rb
129
120
  - lib/searchkick/version.rb
130
121
  - searchkick.gemspec
122
+ - test/aggs_test.rb
131
123
  - test/autocomplete_test.rb
132
124
  - test/boost_test.rb
125
+ - test/ci/before_install.sh
133
126
  - test/facets_test.rb
127
+ - test/gemfiles/activerecord31.gemfile
128
+ - test/gemfiles/activerecord32.gemfile
129
+ - test/gemfiles/activerecord40.gemfile
130
+ - test/gemfiles/activerecord41.gemfile
131
+ - test/gemfiles/mongoid2.gemfile
132
+ - test/gemfiles/mongoid3.gemfile
133
+ - test/gemfiles/mongoid4.gemfile
134
+ - test/gemfiles/mongoid5.gemfile
135
+ - test/gemfiles/nobrainer.gemfile
134
136
  - test/highlight_test.rb
135
137
  - test/index_test.rb
136
138
  - test/inheritance_test.rb
@@ -174,9 +176,20 @@ summary: Searchkick learns what your users are looking for. As more people searc
174
176
  it gets smarter and the results get better. It’s friendly for developers - and magical
175
177
  for your users.
176
178
  test_files:
179
+ - test/aggs_test.rb
177
180
  - test/autocomplete_test.rb
178
181
  - test/boost_test.rb
182
+ - test/ci/before_install.sh
179
183
  - test/facets_test.rb
184
+ - test/gemfiles/activerecord31.gemfile
185
+ - test/gemfiles/activerecord32.gemfile
186
+ - test/gemfiles/activerecord40.gemfile
187
+ - test/gemfiles/activerecord41.gemfile
188
+ - test/gemfiles/mongoid2.gemfile
189
+ - test/gemfiles/mongoid3.gemfile
190
+ - test/gemfiles/mongoid4.gemfile
191
+ - test/gemfiles/mongoid5.gemfile
192
+ - test/gemfiles/nobrainer.gemfile
180
193
  - test/highlight_test.rb
181
194
  - test/index_test.rb
182
195
  - test/inheritance_test.rb