solr_lite 0.0.14 → 0.0.15
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.
- checksums.yaml +4 -4
- data/lib/response.rb +7 -1
- data/lib/solr.rb +35 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ecab3d2b054e883e1fb4e5ba9efd0a27e45775235b3ff5dba4ce5bb9c6d720fb
|
|
4
|
+
data.tar.gz: f02458526756b727bda48324aad9e04985bc14f4b215e27190a945794466433c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 567f1ccfb1fa16ff7ce5dc40211cdd2a90accb4adb64a2eac2bf05692abfa26f1b30caf9fb9dff528a625938b6f93339591459850b1adf36eb6cd4c524e511fb
|
|
7
|
+
data.tar.gz: 65eeba11ca10c0f5f03be274fca7349b0ad1e85ab3a89e2f5e79ae7bf78532bf655ff8b5b9b4ae00b8e52980f41d3740b1f18c2252439fb31152e4d47c71983e
|
data/lib/response.rb
CHANGED
|
@@ -64,7 +64,7 @@ module SolrLite
|
|
|
64
64
|
# for a grouped request.
|
|
65
65
|
def groups_found
|
|
66
66
|
if @solr_response["grouped"] != nil && @params.group_count != nil
|
|
67
|
-
return @solr_response["facets"][@params.group_count]
|
|
67
|
+
return @solr_response["facets"][@params.group_count] || 0
|
|
68
68
|
end
|
|
69
69
|
return 0
|
|
70
70
|
rescue
|
|
@@ -156,6 +156,12 @@ module SolrLite
|
|
|
156
156
|
# the second element is an array with of value/count pairs (PEOPLE/32, ORG/4)
|
|
157
157
|
field_name = solr_facet[0]
|
|
158
158
|
facet_field = @params.facet_for_field(field_name)
|
|
159
|
+
|
|
160
|
+
if facet_field == nil
|
|
161
|
+
# Solr returned facets for a field that we did not ask for. Ignore it.
|
|
162
|
+
next
|
|
163
|
+
end
|
|
164
|
+
|
|
159
165
|
if facet_field.range
|
|
160
166
|
# Use the range values as the facet values.
|
|
161
167
|
#
|
data/lib/solr.rb
CHANGED
|
@@ -58,6 +58,24 @@ module SolrLite
|
|
|
58
58
|
solr_response.solr_docs.first
|
|
59
59
|
end
|
|
60
60
|
|
|
61
|
+
def get_many(ids, q_field = "q", fl = "*", batch_size = 20)
|
|
62
|
+
data = []
|
|
63
|
+
batches = to_batches(ids, batch_size)
|
|
64
|
+
batches.each do |batch|
|
|
65
|
+
ids_string = batch.join(" OR ")
|
|
66
|
+
query_string = "#{q_field}=id%3A(#{ids_string})" # %3A => :
|
|
67
|
+
query_string += "&fl=#{fl}"
|
|
68
|
+
query_string += "&wt=json&indent=on"
|
|
69
|
+
if @def_type != nil
|
|
70
|
+
query_string += "&defType=#{@def_type}"
|
|
71
|
+
end
|
|
72
|
+
url = "#{@solr_url}/select?#{query_string}"
|
|
73
|
+
solr_response = Response.new(http_get(url), nil)
|
|
74
|
+
data += solr_response.solr_docs
|
|
75
|
+
end
|
|
76
|
+
data
|
|
77
|
+
end
|
|
78
|
+
|
|
61
79
|
# Issues a search request to Solr.
|
|
62
80
|
#
|
|
63
81
|
# @param params [SolrLite::SearchParams] Search parameters.
|
|
@@ -254,5 +272,22 @@ module SolrLite
|
|
|
254
272
|
@logger.info(msg)
|
|
255
273
|
end
|
|
256
274
|
end
|
|
275
|
+
|
|
276
|
+
def to_batches(arr, batch_size)
|
|
277
|
+
batch_count = (arr.count / batch_size)
|
|
278
|
+
if (arr.count % batch_size) > 0
|
|
279
|
+
batch_count += 1
|
|
280
|
+
end
|
|
281
|
+
|
|
282
|
+
batches = []
|
|
283
|
+
(1..batch_count).each do |i|
|
|
284
|
+
start = (i-1) * batch_size
|
|
285
|
+
stop = start + batch_size - 1
|
|
286
|
+
batch = arr[start..stop]
|
|
287
|
+
batches << batch
|
|
288
|
+
end
|
|
289
|
+
|
|
290
|
+
batches
|
|
291
|
+
end
|
|
257
292
|
end
|
|
258
293
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: solr_lite
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.15
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Hector Correa
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2019-
|
|
11
|
+
date: 2019-07-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: A lightweight gem to connect to Solr and run queries. Requires no extra
|
|
14
14
|
dependencies.
|