tire 0.5.5 → 0.5.6
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.
- data/README.markdown +15 -32
- data/lib/tire/http/clients/curb.rb +26 -22
- data/lib/tire/index.rb +5 -4
- data/lib/tire/model/import.rb +97 -10
- data/lib/tire/model/persistence/attributes.rb +4 -3
- data/lib/tire/search/query.rb +27 -0
- data/lib/tire/tasks.rb +134 -81
- data/lib/tire/version.rb +4 -7
- data/test/integration/active_record_searchable_test.rb +1 -0
- data/test/integration/boosting_queries_test.rb +45 -8
- data/test/integration/constant_score_queries_test.rb +66 -0
- data/test/integration/dsl_search_test.rb +9 -2
- data/test/integration/percolator_test.rb +1 -1
- data/test/integration/persistent_model_test.rb +1 -0
- data/test/unit/http_client_test.rb +12 -0
- data/test/unit/index_test.rb +8 -6
- data/test/unit/search_query_test.rb +22 -0
- data/test/unit/tire_test.rb +19 -5
- data/tire.gemspec +1 -0
- metadata +58 -47
data/lib/tire/version.rb
CHANGED
@@ -1,14 +1,11 @@
|
|
1
1
|
module Tire
|
2
|
-
VERSION = "0.5.
|
2
|
+
VERSION = "0.5.6"
|
3
3
|
|
4
4
|
CHANGELOG =<<-END
|
5
5
|
IMPORTANT CHANGES LATELY:
|
6
6
|
|
7
|
-
*
|
8
|
-
*
|
9
|
-
*
|
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
|
@@ -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
|
14
|
-
positive
|
15
|
-
|
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 '{
|
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 '{
|
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
|
@@ -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
|
data/test/unit/index_test.rb
CHANGED
@@ -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
|
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
|
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
|
341
|
-
Configuration.client.expects(:post).with
|
342
|
-
|
343
|
-
|
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
|
data/test/unit/tire_test.rb
CHANGED
@@ -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).
|
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
|
-
|
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
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.
|
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-
|
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: &
|
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: *
|
24
|
+
version_requirements: *70314615618020
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rest-client
|
27
|
-
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: *
|
35
|
+
version_requirements: *70314615617280
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: multi_json
|
38
|
-
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: *
|
46
|
+
version_requirements: *70314615643440
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: activemodel
|
49
|
-
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: *
|
57
|
+
version_requirements: *70314615642080
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: hashr
|
60
|
-
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: *
|
68
|
+
version_requirements: *70314615641260
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: activesupport
|
71
|
-
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: *
|
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: &
|
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: *
|
101
|
+
version_requirements: *70314615638440
|
91
102
|
- !ruby/object:Gem::Dependency
|
92
103
|
name: shoulda
|
93
|
-
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: *
|
112
|
+
version_requirements: *70314615636800
|
102
113
|
- !ruby/object:Gem::Dependency
|
103
114
|
name: mocha
|
104
|
-
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: *
|
123
|
+
version_requirements: *70314615636040
|
113
124
|
- !ruby/object:Gem::Dependency
|
114
125
|
name: minitest
|
115
|
-
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: *
|
134
|
+
version_requirements: *70314615657700
|
124
135
|
- !ruby/object:Gem::Dependency
|
125
136
|
name: activerecord
|
126
|
-
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: *
|
145
|
+
version_requirements: *70314615656860
|
135
146
|
- !ruby/object:Gem::Dependency
|
136
147
|
name: mongoid
|
137
|
-
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: *
|
156
|
+
version_requirements: *70314615656060
|
146
157
|
- !ruby/object:Gem::Dependency
|
147
158
|
name: redis-persistence
|
148
|
-
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: *
|
167
|
+
version_requirements: *70314615655240
|
157
168
|
- !ruby/object:Gem::Dependency
|
158
169
|
name: faraday
|
159
|
-
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: *
|
178
|
+
version_requirements: *70314615654020
|
168
179
|
- !ruby/object:Gem::Dependency
|
169
180
|
name: yajl-ruby
|
170
|
-
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: *
|
189
|
+
version_requirements: *70314615653500
|
179
190
|
- !ruby/object:Gem::Dependency
|
180
191
|
name: sqlite3
|
181
|
-
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: *
|
200
|
+
version_requirements: *70314615652940
|
190
201
|
- !ruby/object:Gem::Dependency
|
191
202
|
name: bson_ext
|
192
|
-
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: *
|
211
|
+
version_requirements: *70314615652100
|
201
212
|
- !ruby/object:Gem::Dependency
|
202
213
|
name: curb
|
203
|
-
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: *
|
222
|
+
version_requirements: *70314615651240
|
212
223
|
- !ruby/object:Gem::Dependency
|
213
224
|
name: oj
|
214
|
-
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: *
|
233
|
+
version_requirements: *70314615666200
|
223
234
|
- !ruby/object:Gem::Dependency
|
224
235
|
name: turn
|
225
|
-
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: *
|
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 *
|
389
|
-
|
390
|
-
|
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
|