searchkick 0.6.3 → 0.7.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
  SHA1:
3
- metadata.gz: 3e333fde534928a49167a9af2098eeb2aaeae55f
4
- data.tar.gz: c5077e61c89975a0411acf57f9429ce8f946cf34
3
+ metadata.gz: 60615f96360c3f13f09db4893caa5f2cb0b2a4e1
4
+ data.tar.gz: 74809a67cc8c765acae2acebcafd9636b93cdc3b
5
5
  SHA512:
6
- metadata.gz: ac18482615c6a1d5fa4854c17c9e907a507bcea1701f783371a0be657ba848727182a1e2fbd38e547dc675a7545874584cdaa84b861755f99b0d08f7dbda0ca4
7
- data.tar.gz: c1b5edee46e4bf3d6d5ecbc6a425930630cc80ecb2a4034c1c71d39a78ab344f0aadee822d2130e9359ccf247407b44d9a025c5c3db0c04c82a979feaf512020
6
+ metadata.gz: 3975e9b63fbf249f0d2ccb945275c39e426b02606a0a3433feed84f32c7f158b363311fe16ad13c54ac56eccfda9a40901e8d4ac527fd4268ddd8080751f752f
7
+ data.tar.gz: ddc5145efa1ac5c96c72728d42ce6fca5a8609490de52f89a974901b421c698df1d12c15c04cb2e6d84b14b1f672eb2fe08322a8b2b0fc17f147950a16c5a53f
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## 0.7.0
2
+
3
+ - Added support for Elasticsearch 1.1
4
+ - Dropped support for Elasticsearch below 0.90.4 (unfortunate side effect of above)
5
+
1
6
  ## 0.6.3
2
7
 
3
8
  - Removed patron since no support for Windows
data/README.md CHANGED
@@ -595,7 +595,7 @@ products = query.execute
595
595
 
596
596
  ## Reference
597
597
 
598
- Searchkick requires Elasticsearch `0.90.0` or higher.
598
+ Searchkick requires Elasticsearch `0.90.4` or higher.
599
599
 
600
600
  Reindex one record
601
601
 
@@ -791,7 +791,5 @@ Everyone is encouraged to help improve this project. Here are a few ways you can
791
791
  To get started with development and testing:
792
792
 
793
793
  1. Clone the repo
794
- 2. Install PostgreSQL and create a database called `searchkick_test` (`psql -d postgres -c "create database searchkick_test"`)
795
- 3. Install Elasticsearch
796
- 4. `bundle`
797
- 5. `rake test`
794
+ 2. `bundle`
795
+ 3. `rake test`
@@ -78,9 +78,9 @@ module Searchkick
78
78
  fields: [field],
79
79
  query: term,
80
80
  use_dis_max: false,
81
- operator: operator,
82
- cutoff_frequency: 0.001
81
+ operator: operator
83
82
  }
83
+ shared_options[:cutoff_frequency] = 0.001 unless operator == "and"
84
84
  queries.concat [
85
85
  {multi_match: shared_options.merge(boost: 10, analyzer: "searchkick_search")},
86
86
  {multi_match: shared_options.merge(boost: 10, analyzer: "searchkick_search2")}
@@ -121,13 +121,16 @@ module Searchkick
121
121
  path: conversions_field,
122
122
  score_mode: "total",
123
123
  query: {
124
- custom_score: {
124
+ function_score: {
125
+ boost_mode: "replace",
125
126
  query: {
126
127
  match: {
127
128
  query: term
128
129
  }
129
130
  },
130
- script: "doc['count'].value"
131
+ script_score: {
132
+ script: "doc['count'].value"
133
+ }
131
134
  }
132
135
  }
133
136
  }
@@ -146,7 +149,9 @@ module Searchkick
146
149
  field: options[:boost]
147
150
  }
148
151
  },
149
- script: "log(doc['#{options[:boost]}'].value + 2.718281828)"
152
+ script_score: {
153
+ script: "log(doc['#{options[:boost]}'].value + 2.718281828)"
154
+ }
150
155
  }
151
156
  end
152
157
 
@@ -157,7 +162,7 @@ module Searchkick
157
162
  personalize_field => options[:user_id]
158
163
  }
159
164
  },
160
- boost: 100
165
+ boost_factor: 100
161
166
  }
162
167
  end
163
168
 
@@ -166,16 +171,16 @@ module Searchkick
166
171
  filter: {
167
172
  term: options[:personalize]
168
173
  },
169
- boost: 100
174
+ boost_factor: 100
170
175
  }
171
176
  end
172
177
 
173
178
  if custom_filters.any?
174
179
  payload = {
175
- custom_filters_score: {
180
+ function_score: {
181
+ functions: custom_filters,
176
182
  query: payload,
177
- filters: custom_filters,
178
- score_mode: "total"
183
+ score_mode: "sum"
179
184
  }
180
185
  }
181
186
  end
@@ -319,8 +324,14 @@ module Searchkick
319
324
  status_code = e.message[1..3].to_i
320
325
  if status_code == 404
321
326
  raise "Index missing - run #{searchkick_klass.name}.reindex"
322
- elsif status_code == 500 and (e.message.include?("IllegalArgumentException[minimumSimilarity >= 1]") or e.message.include?("No query registered for [multi_match]") or e.message.include?("[match] query does not support [cutoff_frequency]]"))
323
- raise "Upgrade Elasticsearch to 0.90.0 or greater"
327
+ elsif status_code == 500 and (
328
+ e.message.include?("IllegalArgumentException[minimumSimilarity >= 1]") or
329
+ e.message.include?("No query registered for [multi_match]") or
330
+ e.message.include?("[match] query does not support [cutoff_frequency]]") or
331
+ e.message.include?("No query registered for [function_score]]")
332
+ )
333
+
334
+ raise "This version of Searchkick requires Elasticsearch 0.90.4 or greater"
324
335
  else
325
336
  raise e
326
337
  end
@@ -1,3 +1,3 @@
1
1
  module Searchkick
2
- VERSION = "0.6.3"
2
+ VERSION = "0.7.0"
3
3
  end
data/searchkick.gemspec CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_dependency "activemodel"
22
- spec.add_dependency "elasticsearch", "~> 0.4.11"
22
+ spec.add_dependency "elasticsearch", ">= 1.0.0"
23
23
  spec.add_dependency "hashie"
24
24
 
25
25
  spec.add_development_dependency "bundler", "~> 1.3"
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.6.3
4
+ version: 0.7.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: 2014-04-09 00:00:00.000000000 Z
11
+ date: 2014-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: elasticsearch
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.4.11
33
+ version: 1.0.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 0.4.11
40
+ version: 1.0.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: hashie
43
43
  requirement: !ruby/object:Gem::Requirement