searchkick 5.1.2 → 5.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 93a4b2478d1c1353f7117fff60a08a50c896a1b78e150abf1a6b328901933e4d
4
- data.tar.gz: 1ff1fac4e47194445ca9f0ec2a470b7f15fe9aeb135960aa874e1a6beff62a2e
3
+ metadata.gz: bea8e9ff3ed31f14751a19c74ecfa76f276d0e1e6d12803203bd023e0aba6926
4
+ data.tar.gz: 060ab7e11f615f1b0b32494e38eb35135ee6d5b1df203bb7dadd04b9e9eb8886
5
5
  SHA512:
6
- metadata.gz: 52f8ccfb7f3615492a1674c7d48878b31bc9fd4e8cb8c411fbb19020d910c1ce395764aa1e378fab8e59294a7f5ef0bd2db0f9cd32c728dd302984ded4c7f20d
7
- data.tar.gz: 0c26ce9bb674b6aa5744edfd8567024a1f1d50fb30b6096abcdfdc23c73a71afbb9310a56809cc135b2d30653e1330cfa057fd9778e005a2aeeb1d354d7686af
6
+ metadata.gz: 80e3c1e347ddd12750e1e9ebba5ef15c49915cbff4c1999733dc8663e750ad9aafc2a265865593572f5fec3ec9c6f0d9a0992a204154102f3829d75f0459cd6d
7
+ data.tar.gz: a2d8dc9d74f1cc9a744a9bdcbb735e078a4f80114d441df26953e1b32e6a7f9ff5847c6619e540a468dabc933811f1e9bc47396bbaa34103942102eb253ddedb
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## 5.2.0 (2023-02-08)
2
+
3
+ - Added model name to warning about missing records
4
+ - Fixed unnecessary data loading when reindexing relations with `:async` and `:queue` modes
5
+
1
6
  ## 5.1.2 (2023-01-29)
2
7
 
3
8
  - Fixed error with missing point in time
@@ -14,12 +14,17 @@ module Searchkick
14
14
  relation = relation.search_import
15
15
  end
16
16
 
17
- # remove unneeded loading for async
18
- if mode == :async
17
+ # remove unneeded loading for async and queue
18
+ if mode == :async || mode == :queue
19
19
  if relation.respond_to?(:primary_key)
20
- relation = relation.select(relation.primary_key).except(:includes, :preload)
20
+ relation = relation.except(:includes, :preload)
21
+ unless mode == :queue && relation.klass.method_defined?(:search_routing)
22
+ relation = relation.except(:select).select(relation.primary_key)
23
+ end
21
24
  elsif relation.respond_to?(:only)
22
- relation = relation.only(:_id)
25
+ unless mode == :queue && relation.klass.method_defined?(:search_routing)
26
+ relation = relation.only(:_id)
27
+ end
23
28
  end
24
29
  end
25
30
 
@@ -304,7 +304,7 @@ module Searchkick
304
304
  def build_hits
305
305
  @build_hits ||= begin
306
306
  if missing_records.any?
307
- Searchkick.warn("Records in search index do not exist in database: #{missing_records.map { |v| v[:id] }.join(", ")}")
307
+ Searchkick.warn("Records in search index do not exist in database: #{missing_records.map { |v| "#{v[:model].model_name} #{v[:id]}" }.join(", ")}")
308
308
  end
309
309
  with_hit_and_missing_records[0]
310
310
  end
@@ -1,3 +1,3 @@
1
1
  module Searchkick
2
- VERSION = "5.1.2"
2
+ VERSION = "5.2.0"
3
3
  end
data/lib/searchkick.rb CHANGED
@@ -10,27 +10,27 @@ require "hashie"
10
10
  require "forwardable"
11
11
 
12
12
  # modules
13
- require "searchkick/controller_runtime"
14
- require "searchkick/index"
15
- require "searchkick/index_cache"
16
- require "searchkick/index_options"
17
- require "searchkick/indexer"
18
- require "searchkick/hash_wrapper"
19
- require "searchkick/log_subscriber"
20
- require "searchkick/model"
21
- require "searchkick/multi_search"
22
- require "searchkick/query"
23
- require "searchkick/reindex_queue"
24
- require "searchkick/record_data"
25
- require "searchkick/record_indexer"
26
- require "searchkick/relation"
27
- require "searchkick/relation_indexer"
28
- require "searchkick/results"
29
- require "searchkick/version"
30
- require "searchkick/where"
13
+ require_relative "searchkick/controller_runtime"
14
+ require_relative "searchkick/index"
15
+ require_relative "searchkick/index_cache"
16
+ require_relative "searchkick/index_options"
17
+ require_relative "searchkick/indexer"
18
+ require_relative "searchkick/hash_wrapper"
19
+ require_relative "searchkick/log_subscriber"
20
+ require_relative "searchkick/model"
21
+ require_relative "searchkick/multi_search"
22
+ require_relative "searchkick/query"
23
+ require_relative "searchkick/reindex_queue"
24
+ require_relative "searchkick/record_data"
25
+ require_relative "searchkick/record_indexer"
26
+ require_relative "searchkick/relation"
27
+ require_relative "searchkick/relation_indexer"
28
+ require_relative "searchkick/results"
29
+ require_relative "searchkick/version"
30
+ require_relative "searchkick/where"
31
31
 
32
32
  # integrations
33
- require "searchkick/railtie" if defined?(Rails)
33
+ require_relative "searchkick/railtie" if defined?(Rails)
34
34
 
35
35
  module Searchkick
36
36
  # requires faraday
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: 5.1.2
4
+ version: 5.2.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: 2023-01-30 00:00:00.000000000 Z
11
+ date: 2023-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -92,7 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
92
  - !ruby/object:Gem::Version
93
93
  version: '0'
94
94
  requirements: []
95
- rubygems_version: 3.4.1
95
+ rubygems_version: 3.4.6
96
96
  signing_key:
97
97
  specification_version: 4
98
98
  summary: Intelligent search made easy with Rails and Elasticsearch or OpenSearch