sunspot 1.0.3 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +6 -0
- data/README.rdoc +4 -0
- data/lib/sunspot/search.rb +5 -2
- data/lib/sunspot/search/hit.rb +2 -3
- data/lib/sunspot/version.rb +1 -1
- data/solr/solr/lib/solr-spatial-light-0.0.5.jar +0 -0
- data/spec/api/search/results_spec.rb +10 -0
- metadata +4 -4
- data/solr/solr/lib/solr-spatial-light-0.0.4.jar +0 -0
data/History.txt
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
== 1.0.4 2010-03-19
|
2
|
+
* Update solr-spatial-light to 0.0.5
|
3
|
+
* Fix NullPointerException in repeated geo search
|
4
|
+
* Fix missing distances in repeated geo search
|
5
|
+
* Don't query the data store more than once when results are missing
|
6
|
+
|
1
7
|
== 1.0.2 2010-03-11
|
2
8
|
* Restore Hit#distance for result geo distance
|
3
9
|
* Remove :distance special sort
|
data/README.rdoc
CHANGED
@@ -13,6 +13,9 @@ objects such as the filesystem.
|
|
13
13
|
|
14
14
|
=== Where to learn all about Sunspot: The Wiki!
|
15
15
|
|
16
|
+
New to Sunspot and using Rails? Check out {Adding Sunspot search to Rails in 5
|
17
|
+
minutes or less}[http://wiki.github.com/outoftime/sunspot/adding-sunspot-search-to-rails-in-5-minutes-or-less].
|
18
|
+
|
16
19
|
This README is intended as a quick primer on what Sunspot is capable of; for
|
17
20
|
detailed treatment of Sunspot's full feature range, check out the wiki:
|
18
21
|
http://wiki.github.com/outoftime/sunspot
|
@@ -207,6 +210,7 @@ Sunspot repository at `upstream`:
|
|
207
210
|
* {Sunspot: A Solr-Powered Search Engine for Ruby}[http://www.linux-mag.com/id/7341] (Linux Magazine)
|
208
211
|
* {Using Sunspot for Free-Text Search with Redis}[http://masonoise.wordpress.com/2010/02/06/using-sunspot-for-free-text-search-with-redis/] (While I Pondered...)
|
209
212
|
* {Default scope with Sunspot}[http://www.cloudspace.com/blog/2010/01/15/default-scope-with-sunspot/] (Cloudspace)
|
213
|
+
* {Chef recipe for Sunspot in production}[http://gist.github.com/336403]
|
210
214
|
* {Testing Sunspot with Cucumber}[http://blog.trydionel.com/2010/02/06/testing-sunspot-with-cucumber/] (spiral_code)
|
211
215
|
* {Running cucumber features with sunspot_rails}[http://blog.kabisa.nl/2010/02/03/running-cucumber-features-with-sunspot_rails] (Kabisa Blog)
|
212
216
|
* {How To Use Twitter Lists to Determine Influence}[http://www.untitledstartup.com/2010/01/how-to-use-twitter-lists-to-determine-influence/] (Untitled Startup)
|
data/lib/sunspot/search.rb
CHANGED
@@ -213,10 +213,13 @@ module Sunspot
|
|
213
213
|
end
|
214
214
|
id_hit_hash.each_pair do |class_name, hits|
|
215
215
|
ids = hits.map { |id, hit| hit.primary_key }
|
216
|
-
data_accessor_for(Util.full_const_get(class_name))
|
217
|
-
|
216
|
+
data_accessor = data_accessor_for(Util.full_const_get(class_name))
|
217
|
+
hits_for_class = id_hit_hash[class_name]
|
218
|
+
data_accessor.load_all(ids).each do |result|
|
219
|
+
hit = hits_for_class.delete(Adapters::InstanceAdapter.adapt(result).id.to_s)
|
218
220
|
hit.result = result
|
219
221
|
end
|
222
|
+
hits_for_class.values.each { |hit| hit.result = nil }
|
220
223
|
end
|
221
224
|
end
|
222
225
|
|
data/lib/sunspot/search/hit.rb
CHANGED
@@ -91,9 +91,8 @@ module Sunspot
|
|
91
91
|
# load their instances using the adapter's #load_all method.
|
92
92
|
#
|
93
93
|
def result
|
94
|
-
if @result
|
95
|
-
|
96
|
-
end
|
94
|
+
return @result if defined?(@result)
|
95
|
+
@search.populate_hits
|
97
96
|
@result
|
98
97
|
end
|
99
98
|
alias_method :instance, :result
|
data/lib/sunspot/version.rb
CHANGED
Binary file
|
@@ -56,4 +56,14 @@ describe 'search results', :type => :search do
|
|
56
56
|
stub_results(*posts)
|
57
57
|
session.search(Post).results.should == posts[0..0]
|
58
58
|
end
|
59
|
+
|
60
|
+
it 'does not attempt to query the data store more than once when results are unavailable' do
|
61
|
+
posts = [Post.new, Post.new]
|
62
|
+
posts.each { |post| post.destroy }
|
63
|
+
stub_results(*posts)
|
64
|
+
search = session.search(Post) do
|
65
|
+
data_accessor_for(Post).should_receive(:load_all).once.and_return([])
|
66
|
+
end
|
67
|
+
search.results.should == []
|
68
|
+
end
|
59
69
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 1
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 1.0.
|
8
|
+
- 4
|
9
|
+
version: 1.0.4
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Mat Brown
|
@@ -24,7 +24,7 @@ autorequire:
|
|
24
24
|
bindir: bin
|
25
25
|
cert_chain: []
|
26
26
|
|
27
|
-
date: 2010-03-
|
27
|
+
date: 2010-03-19 00:00:00 -04:00
|
28
28
|
default_executable:
|
29
29
|
dependencies:
|
30
30
|
- !ruby/object:Gem::Dependency
|
@@ -246,7 +246,7 @@ files:
|
|
246
246
|
- solr/solr/conf/scripts.conf
|
247
247
|
- solr/solr/conf/schema.xml
|
248
248
|
- solr/solr/conf/stopwords.txt
|
249
|
-
- solr/solr/lib/solr-spatial-light-0.0.
|
249
|
+
- solr/solr/lib/solr-spatial-light-0.0.5.jar
|
250
250
|
- solr/solr/lib/lucene-spatial-2.9.1.jar
|
251
251
|
- solr/start.jar
|
252
252
|
has_rdoc: true
|
Binary file
|