tire 0.5.5 → 0.5.6

Sign up to get free protection for your applications and to get access to all the features.
data/lib/tire/version.rb CHANGED
@@ -1,14 +1,11 @@
1
1
  module Tire
2
- VERSION = "0.5.5"
2
+ VERSION = "0.5.6"
3
3
 
4
4
  CHANGELOG =<<-END
5
5
  IMPORTANT CHANGES LATELY:
6
6
 
7
- * Improved documentation
8
- * Improved isolation of Tire methods in model integrations
9
- * Improved handling of times/dates in `Model::Persistence`
10
- * Added support for "Put Mapping" and "Delete mapping" APIs
11
- * Added escaping document IDs in URLs
12
- * Allowed passing URL options when passing search definition as a Hash
7
+ * Added support for the `constant_score` query
8
+ * Prevent `Curl::Err::MultiBadEasyHandle` errors in the Curb client
9
+ * Refactored the model importing integration and Rake tasks
13
10
  END
14
11
  end
@@ -600,6 +600,7 @@ module Tire
600
600
  setup do
601
601
  ActiveRecordModelWithPercolation.index.register_percolator_query('alert') { string 'warning' }
602
602
  Tire.index('_percolator').refresh
603
+ sleep 0.2
603
604
  end
604
605
 
605
606
  should "return matching queries when percolating" do
@@ -10,19 +10,56 @@ module Tire
10
10
  should "allow to set multiple queries per condition" do
11
11
  s = Tire.search('articles-test') do
12
12
  query do
13
- boosting(:negative_boost => 0.2) do
14
- positive do
15
- string "Two One"
16
- end
17
- negative do
18
- term :tags, 'python'
19
- end
13
+ boosting negative_boost: 0.2 do
14
+ positive { string "title:Two title:One tags:ruby tags:python" }
15
+ negative { term :tags, 'python' }
20
16
  end
21
17
  end
22
18
  end
23
19
 
24
20
  assert_equal 'One', s.results[0].title
25
- assert_equal 'Two', s.results[1].title
21
+ assert_equal 'Two', s.results[1].title # Matches 'python', so is demoted
22
+ end
23
+
24
+ context "in the featured results scenario" do
25
+ setup do
26
+ # Tire.configure { logger STDERR }
27
+ @index = Tire.index('featured-results-test') do
28
+ delete; create
29
+ store title: 'Kitchen special tool', featured: true
30
+ store title: 'Kitchen tool tool tool', featured: false
31
+ store title: 'Garage tool', featured: false
32
+ refresh
33
+ end
34
+ end
35
+
36
+ teardown do
37
+ @index.delete
38
+ end
39
+
40
+ should "return featured results first" do
41
+ s = Tire.search('featured-results-test') do
42
+ query do
43
+ boosting negative_boost: 0.1 do
44
+ positive do
45
+ match :title, 'tool'
46
+ end
47
+ # The `negative` query runs _within_ the results of the `positive` query,
48
+ # and "rescores" the documents which match it, lowering their score.
49
+ negative do
50
+ filtered do
51
+ query { match :title, 'kitchen' }
52
+ filter :term, featured: false
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+
59
+ assert_equal 'Garage tool', s.results[0].title # Non-kitchen first
60
+ assert_equal 'Kitchen special tool', s.results[1].title # Featured first
61
+ assert_equal 'Kitchen tool tool tool', s.results[2].title # Rest
62
+ end
26
63
  end
27
64
 
28
65
  end
@@ -0,0 +1,66 @@
1
+ require 'test_helper'
2
+
3
+ module Tire
4
+
5
+ class ConstantScoreQueriesIntegrationTest < Test::Unit::TestCase
6
+ include Test::Integration
7
+ context "Constant score queries" do
8
+
9
+ should "return the same score for all results" do
10
+ s = Tire.search('articles-test') do
11
+ query do
12
+ constant_score do
13
+ query do
14
+ terms :tags, ['ruby', 'python']
15
+ end
16
+ end
17
+ end
18
+ end
19
+
20
+ assert_equal 2, s.results.size
21
+ assert s.results[0]._score == s.results[1]._score
22
+ end
23
+
24
+ context "in the featured results scenario" do
25
+ # Adapted from: http://www.fullscale.co/blog/2013/01/24/Implementing_Featured_Results_With_ElasticSearch.html
26
+ setup do
27
+ @index = Tire.index('featured-results-test') do
28
+ delete; create
29
+ store title: 'Kitchen special tool', featured: true
30
+ store title: 'Kitchen tool tool tool', featured: false
31
+ store title: 'Garage tool', featured: false
32
+ refresh
33
+ end
34
+ end
35
+
36
+ teardown do
37
+ @index.delete
38
+ end
39
+
40
+
41
+ should "return featured results first" do
42
+ s = Tire.search('featured-results-test') do
43
+ query do
44
+ boolean do
45
+ should do
46
+ constant_score do
47
+ query { match :title, 'tool' }
48
+ filter :term, featured: true
49
+ boost 100
50
+ end
51
+ end
52
+ should do
53
+ match :title, 'tool'
54
+ end
55
+ end
56
+ end
57
+ end
58
+
59
+ assert_equal 'Kitchen special tool', s.results[0].title
60
+ assert_equal 'Kitchen tool tool tool', s.results[1].title
61
+ end
62
+ end
63
+
64
+ end
65
+ end
66
+ end
@@ -13,7 +13,7 @@ module Tire
13
13
 
14
14
  assert_equal 2, s.results.count
15
15
  assert_equal 2, s.results.facets['tags']['count']
16
- assert_match /_search\?pretty' -d '{/, s.to_curl, 'Make sure to ignore payload in URL params'
16
+ assert_match %r|articles-test/_search\?pretty' -d '{|, s.to_curl, 'Make sure to ignore payload in URL params'
17
17
  end
18
18
 
19
19
  should "allow passing URL parameters" do
@@ -21,7 +21,14 @@ module Tire
21
21
 
22
22
  assert_equal 0, s.results.count
23
23
  assert_equal 2, s.results.total
24
- assert_match /_search.*search_type=count.*' -d '{/, s.to_curl
24
+ assert_match %r|articles-test/_search.*search_type=count.*' -d '{|, s.to_curl
25
+ end
26
+
27
+ should "allow to pass document type in index name" do
28
+ s = Tire.search 'articles-test/article', query: { match: { tags: 'ruby' } }
29
+
30
+ assert_equal 2, s.results.total
31
+ assert_match %r|articles-test/article/_search|, s.to_curl
25
32
  end
26
33
 
27
34
  should "allow building search query iteratively" do
@@ -106,6 +106,6 @@ module Tire
106
106
  Configuration.client.get("#{Configuration.url}/_percolator/percolator-test/weather") rescue nil
107
107
  end
108
108
 
109
- end
109
+ end unless ENV['TRAVIS']
110
110
 
111
111
  end
@@ -186,6 +186,7 @@ module Tire
186
186
  setup do
187
187
  PersistentArticleWithPercolation.index.register_percolator_query('alert') { string 'warning' }
188
188
  Tire.index('_percolator').refresh
189
+ sleep 0.2
189
190
  end
190
191
 
191
192
  should "return matching queries when percolating" do
@@ -69,6 +69,18 @@ module Tire
69
69
  response = Configuration.client.get "http://localhost:9200/articles/article/1"
70
70
  end
71
71
 
72
+ should "be threadsafe" do
73
+ threads = []
74
+
75
+ %w| foo bar |.each do |q|
76
+ threads << Thread.new do
77
+ Tire.search { query { match :_all, q } }.results.to_a
78
+ end
79
+ end
80
+
81
+ threads.each { |t| t.join() }
82
+ end
83
+
72
84
  end
73
85
 
74
86
  end
@@ -193,12 +193,12 @@ module Tire
193
193
 
194
194
  should "update the mapping" do
195
195
  Configuration.client.expects(:put).returns(mock_response('{"ok":true,"acknowledged":true}', 200))
196
- assert @index.mapping( 'document', { properties: { body: {type: 'string', analyzer: 'english'} } } )
196
+ assert @index.mapping( 'document', { :properties => { :body => { :type => 'string', :analyzer => 'english'} } } )
197
197
  end
198
198
 
199
199
  should "fail to update the mapping when conflicts occur" do
200
200
  Configuration.client.expects(:put).returns(mock_response('{"error":"MergeMappingException","status":400}', 400))
201
- assert ! @index.mapping( 'document', { properties: { body: {type: 'string', analyzer: 'english'} } } )
201
+ assert ! @index.mapping( 'document', { :properties => { :body => { :type => 'string', :analyzer => 'english'} } } )
202
202
  end
203
203
 
204
204
  should "raise an exception for the bang method" do
@@ -337,10 +337,12 @@ module Tire
337
337
 
338
338
  context "document with ID" do
339
339
 
340
- should "store Hash it under its ID property" do
341
- Configuration.client.expects(:post).with("#{@index.url}/document/123",
342
- MultiJson.encode({:id => 123, :title => 'Test'})).
343
- returns(mock_response('{"ok":true,"_id":"123"}'))
340
+ should "store a Hash under its ID property" do
341
+ Configuration.client.expects(:post).with do |path, json|
342
+ assert_equal "#{@index.url}/document/123", path
343
+ assert_equal 123, MultiJson.load(json)['id']
344
+ end.returns(mock_response('{"ok":true,"_id":"123"}'))
345
+
344
346
  @index.store :id => 123, :title => 'Test'
345
347
  end
346
348
 
@@ -415,5 +415,27 @@ module Tire::Search
415
415
 
416
416
  end
417
417
 
418
+ context 'ConstantScoreQuery' do
419
+ should "not raise an error when no block is given" do
420
+ assert_nothing_raised { Query.new.constant_score }
421
+ end
422
+
423
+ should "wrap query" do
424
+ assert_equal( { :constant_score => {:query => { :term => { :attr => { :term => 'foo' } } } } },
425
+ Query.new.constant_score { query { term :attr, 'foo' } } )
426
+ end
427
+
428
+ should "wrap filter" do
429
+ assert_equal( { :constant_score => {:filter => { :term => { :attr => 'foo' } } } },
430
+ Query.new.constant_score { filter :term, :attr => 'foo' } )
431
+ end
432
+
433
+ should "wrap the boost" do
434
+ assert_equal( { :constant_score => {:boost => 3 } },
435
+ Query.new.constant_score { boost 3 } )
436
+ end
437
+
438
+ end
439
+
418
440
  end
419
441
  end
@@ -15,18 +15,24 @@ module Tire
15
15
  context "DSL" do
16
16
 
17
17
  should "allow searching with a block" do
18
- Search::Search.expects(:new).returns( stub(:perform => true) )
18
+ Search::Search.expects(:new).with do |index, options, block|
19
+ assert_equal 'dummy', index
20
+ end.returns( stub(:perform => true) )
19
21
 
20
22
  Tire.search 'dummy' do
21
- query 'foo'
23
+ query { string 'foo' }
22
24
  end
23
25
  end
24
26
 
25
27
  should "allow searching with a Ruby Hash" do
26
28
  payload = { :query => { :query_string => { :query => 'foo' } } }
27
- Search::Search.expects(:new).with('dummy', :payload => payload).returns( stub(:perform => true) )
28
29
 
29
- Tire.search 'dummy', payload
30
+ Search::Search.expects(:new).with do |index, options|
31
+ assert_equal index, 'dummy'
32
+ assert_equal payload, options[:payload]
33
+ end.returns( stub(:perform => true) )
34
+
35
+ s = Tire.search 'dummy', payload
30
36
  end
31
37
 
32
38
  should "raise an error when passed incorrect payload" do
@@ -38,7 +44,7 @@ module Tire
38
44
  should "extract URL parameters from options" do
39
45
  payload = { :query => { :match => { :foo => 'bar' } } }
40
46
 
41
- Search::Search.expects(:new).with do |index,options|
47
+ Search::Search.expects(:new).with do |index, options|
42
48
  assert_equal 'bar', options[:payload][:query][:match][:foo]
43
49
  assert_equal 'count', options[:search_type]
44
50
  end.returns( stub(:perform => true) )
@@ -46,6 +52,14 @@ module Tire
46
52
  Tire.search 'dummy', :query => { :match => { :foo => 'bar' } }, :search_type => 'count'
47
53
  end
48
54
 
55
+ should "allow to pass document type" do
56
+ Search::Search.expects(:new).with do |index, options|
57
+ assert_equal 'dummy/foo', index
58
+ end
59
+
60
+ Tire.search 'dummy/foo', {}
61
+ end
62
+
49
63
  should "raise SearchRequestFailed when receiving bad response from backend" do
50
64
  assert_raise(Search::SearchRequestFailed) do
51
65
  Tire::Configuration.client.expects(:get).returns( mock_response('INDEX DOES NOT EXIST', 404) )
data/tire.gemspec CHANGED
@@ -32,6 +32,7 @@ Gem::Specification.new do |s|
32
32
  s.add_dependency "activemodel", ">= 3.0"
33
33
  s.add_dependency "hashr", "~> 0.0.19"
34
34
  s.add_dependency "activesupport"
35
+ s.add_dependency "ansi"
35
36
 
36
37
  # = Development dependencies
37
38
  #
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tire
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.5
4
+ version: 0.5.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-13 00:00:00.000000000 Z
12
+ date: 2013-03-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &70310347391340 !ruby/object:Gem::Requirement
16
+ requirement: &70314615618020 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70310347391340
24
+ version_requirements: *70314615618020
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rest-client
27
- requirement: &70310347390800 !ruby/object:Gem::Requirement
27
+ requirement: &70314615617280 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '1.6'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70310347390800
35
+ version_requirements: *70314615617280
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: multi_json
38
- requirement: &70310347390300 !ruby/object:Gem::Requirement
38
+ requirement: &70314615643440 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '1.3'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70310347390300
46
+ version_requirements: *70314615643440
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: activemodel
49
- requirement: &70310347389840 !ruby/object:Gem::Requirement
49
+ requirement: &70314615642080 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '3.0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70310347389840
57
+ version_requirements: *70314615642080
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: hashr
60
- requirement: &70310347405760 !ruby/object:Gem::Requirement
60
+ requirement: &70314615641260 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 0.0.19
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70310347405760
68
+ version_requirements: *70314615641260
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: activesupport
71
- requirement: &70310347405380 !ruby/object:Gem::Requirement
71
+ requirement: &70314615640780 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,21 @@ dependencies:
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *70310347405380
79
+ version_requirements: *70314615640780
80
+ - !ruby/object:Gem::Dependency
81
+ name: ansi
82
+ requirement: &70314615639740 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: *70314615639740
80
91
  - !ruby/object:Gem::Dependency
81
92
  name: bundler
82
- requirement: &70310347404840 !ruby/object:Gem::Requirement
93
+ requirement: &70314615638440 !ruby/object:Gem::Requirement
83
94
  none: false
84
95
  requirements:
85
96
  - - ~>
@@ -87,10 +98,10 @@ dependencies:
87
98
  version: '1.0'
88
99
  type: :development
89
100
  prerelease: false
90
- version_requirements: *70310347404840
101
+ version_requirements: *70314615638440
91
102
  - !ruby/object:Gem::Dependency
92
103
  name: shoulda
93
- requirement: &70310347404420 !ruby/object:Gem::Requirement
104
+ requirement: &70314615636800 !ruby/object:Gem::Requirement
94
105
  none: false
95
106
  requirements:
96
107
  - - ! '>='
@@ -98,10 +109,10 @@ dependencies:
98
109
  version: '0'
99
110
  type: :development
100
111
  prerelease: false
101
- version_requirements: *70310347404420
112
+ version_requirements: *70314615636800
102
113
  - !ruby/object:Gem::Dependency
103
114
  name: mocha
104
- requirement: &70310347403880 !ruby/object:Gem::Requirement
115
+ requirement: &70314615636040 !ruby/object:Gem::Requirement
105
116
  none: false
106
117
  requirements:
107
118
  - - ~>
@@ -109,10 +120,10 @@ dependencies:
109
120
  version: '0.13'
110
121
  type: :development
111
122
  prerelease: false
112
- version_requirements: *70310347403880
123
+ version_requirements: *70314615636040
113
124
  - !ruby/object:Gem::Dependency
114
125
  name: minitest
115
- requirement: &70310347403380 !ruby/object:Gem::Requirement
126
+ requirement: &70314615657700 !ruby/object:Gem::Requirement
116
127
  none: false
117
128
  requirements:
118
129
  - - ~>
@@ -120,10 +131,10 @@ dependencies:
120
131
  version: '2.12'
121
132
  type: :development
122
133
  prerelease: false
123
- version_requirements: *70310347403380
134
+ version_requirements: *70314615657700
124
135
  - !ruby/object:Gem::Dependency
125
136
  name: activerecord
126
- requirement: &70310347402920 !ruby/object:Gem::Requirement
137
+ requirement: &70314615656860 !ruby/object:Gem::Requirement
127
138
  none: false
128
139
  requirements:
129
140
  - - ! '>='
@@ -131,10 +142,10 @@ dependencies:
131
142
  version: '3.0'
132
143
  type: :development
133
144
  prerelease: false
134
- version_requirements: *70310347402920
145
+ version_requirements: *70314615656860
135
146
  - !ruby/object:Gem::Dependency
136
147
  name: mongoid
137
- requirement: &70310347402460 !ruby/object:Gem::Requirement
148
+ requirement: &70314615656060 !ruby/object:Gem::Requirement
138
149
  none: false
139
150
  requirements:
140
151
  - - ~>
@@ -142,10 +153,10 @@ dependencies:
142
153
  version: '2.2'
143
154
  type: :development
144
155
  prerelease: false
145
- version_requirements: *70310347402460
156
+ version_requirements: *70314615656060
146
157
  - !ruby/object:Gem::Dependency
147
158
  name: redis-persistence
148
- requirement: &70310347402080 !ruby/object:Gem::Requirement
159
+ requirement: &70314615655240 !ruby/object:Gem::Requirement
149
160
  none: false
150
161
  requirements:
151
162
  - - ! '>='
@@ -153,10 +164,10 @@ dependencies:
153
164
  version: '0'
154
165
  type: :development
155
166
  prerelease: false
156
- version_requirements: *70310347402080
167
+ version_requirements: *70314615655240
157
168
  - !ruby/object:Gem::Dependency
158
169
  name: faraday
159
- requirement: &70310347401620 !ruby/object:Gem::Requirement
170
+ requirement: &70314615654020 !ruby/object:Gem::Requirement
160
171
  none: false
161
172
  requirements:
162
173
  - - ! '>='
@@ -164,10 +175,10 @@ dependencies:
164
175
  version: '0'
165
176
  type: :development
166
177
  prerelease: false
167
- version_requirements: *70310347401620
178
+ version_requirements: *70314615654020
168
179
  - !ruby/object:Gem::Dependency
169
180
  name: yajl-ruby
170
- requirement: &70310347401120 !ruby/object:Gem::Requirement
181
+ requirement: &70314615653500 !ruby/object:Gem::Requirement
171
182
  none: false
172
183
  requirements:
173
184
  - - ~>
@@ -175,10 +186,10 @@ dependencies:
175
186
  version: '1.0'
176
187
  type: :development
177
188
  prerelease: false
178
- version_requirements: *70310347401120
189
+ version_requirements: *70314615653500
179
190
  - !ruby/object:Gem::Dependency
180
191
  name: sqlite3
181
- requirement: &70310347400700 !ruby/object:Gem::Requirement
192
+ requirement: &70314615652940 !ruby/object:Gem::Requirement
182
193
  none: false
183
194
  requirements:
184
195
  - - ! '>='
@@ -186,10 +197,10 @@ dependencies:
186
197
  version: '0'
187
198
  type: :development
188
199
  prerelease: false
189
- version_requirements: *70310347400700
200
+ version_requirements: *70314615652940
190
201
  - !ruby/object:Gem::Dependency
191
202
  name: bson_ext
192
- requirement: &70310347400240 !ruby/object:Gem::Requirement
203
+ requirement: &70314615652100 !ruby/object:Gem::Requirement
193
204
  none: false
194
205
  requirements:
195
206
  - - ! '>='
@@ -197,10 +208,10 @@ dependencies:
197
208
  version: '0'
198
209
  type: :development
199
210
  prerelease: false
200
- version_requirements: *70310347400240
211
+ version_requirements: *70314615652100
201
212
  - !ruby/object:Gem::Dependency
202
213
  name: curb
203
- requirement: &70310347399820 !ruby/object:Gem::Requirement
214
+ requirement: &70314615651240 !ruby/object:Gem::Requirement
204
215
  none: false
205
216
  requirements:
206
217
  - - ! '>='
@@ -208,10 +219,10 @@ dependencies:
208
219
  version: '0'
209
220
  type: :development
210
221
  prerelease: false
211
- version_requirements: *70310347399820
222
+ version_requirements: *70314615651240
212
223
  - !ruby/object:Gem::Dependency
213
224
  name: oj
214
- requirement: &70310347399340 !ruby/object:Gem::Requirement
225
+ requirement: &70314615666200 !ruby/object:Gem::Requirement
215
226
  none: false
216
227
  requirements:
217
228
  - - ! '>='
@@ -219,10 +230,10 @@ dependencies:
219
230
  version: '0'
220
231
  type: :development
221
232
  prerelease: false
222
- version_requirements: *70310347399340
233
+ version_requirements: *70314615666200
223
234
  - !ruby/object:Gem::Dependency
224
235
  name: turn
225
- requirement: &70310347398820 !ruby/object:Gem::Requirement
236
+ requirement: &70314615665640 !ruby/object:Gem::Requirement
226
237
  none: false
227
238
  requirements:
228
239
  - - ~>
@@ -230,7 +241,7 @@ dependencies:
230
241
  version: '0.9'
231
242
  type: :development
232
243
  prerelease: false
233
- version_requirements: *70310347398820
244
+ version_requirements: *70314615665640
234
245
  description: ! " Tire is a Ruby client for the Elasticsearch search engine/database.\n\n
235
246
  \ It provides Ruby-like API for fluent communication with the Elasticsearch server\n
236
247
  \ and blends with ActiveModel class for convenient usage in Rails applications.\n\n
@@ -307,6 +318,7 @@ files:
307
318
  - test/integration/boolean_queries_test.rb
308
319
  - test/integration/boosting_queries_test.rb
309
320
  - test/integration/bulk_test.rb
321
+ - test/integration/constant_score_queries_test.rb
310
322
  - test/integration/count_test.rb
311
323
  - test/integration/custom_score_queries_test.rb
312
324
  - test/integration/dis_max_queries_test.rb
@@ -385,11 +397,9 @@ homepage: http://github.com/karmi/tire
385
397
  licenses: []
386
398
  post_install_message: ! "================================================================================\n\n
387
399
  \ Please check the documentation at <http://karmi.github.com/tire/>.\n\n--------------------------------------------------------------------------------\n\n
388
- \ IMPORTANT CHANGES LATELY:\n\n * Improved documentation\n * Improved isolation
389
- of Tire methods in model integrations\n * Improved handling of times/dates in `Model::Persistence`\n
390
- \ * Added support for \"Put Mapping\" and \"Delete mapping\" APIs\n * Added escaping
391
- document IDs in URLs\n * Allowed passing URL options when passing search definition
392
- as a Hash\n\n See the full changelog at <http://github.com/karmi/tire/commits/v0.5.5>.\n\n--------------------------------------------------------------------------------\n"
400
+ \ IMPORTANT CHANGES LATELY:\n\n * Added support for the `constant_score` query\n
401
+ \ * Prevent `Curl::Err::MultiBadEasyHandle` errors in the Curb client\n * Refactored
402
+ the model importing integration and Rake tasks\n\n See the full changelog at <http://github.com/karmi/tire/commits/v0.5.6>.\n\n--------------------------------------------------------------------------------\n"
393
403
  rdoc_options:
394
404
  - --charset=UTF-8
395
405
  require_paths:
@@ -424,6 +434,7 @@ test_files:
424
434
  - test/integration/boolean_queries_test.rb
425
435
  - test/integration/boosting_queries_test.rb
426
436
  - test/integration/bulk_test.rb
437
+ - test/integration/constant_score_queries_test.rb
427
438
  - test/integration/count_test.rb
428
439
  - test/integration/custom_score_queries_test.rb
429
440
  - test/integration/dis_max_queries_test.rb