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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/response.rb +7 -1
  3. data/lib/solr.rb +35 -0
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c12cae699f561e5b32fd44b2969b7ab8756b5bf49b25f0a97c0ec3b67dc574ee
4
- data.tar.gz: a642e417596a331ad88c7f5a9fcd436fe63167eabe415535ef0e36967901474e
3
+ metadata.gz: ecab3d2b054e883e1fb4e5ba9efd0a27e45775235b3ff5dba4ce5bb9c6d720fb
4
+ data.tar.gz: f02458526756b727bda48324aad9e04985bc14f4b215e27190a945794466433c
5
5
  SHA512:
6
- metadata.gz: 57ba843c385af774dfa08294e1befb38ef0015ef716059b91448343627d55be0a99767208e644bf8786fa6db225fd1906eaf9bbe43b277e0cb31b9261e247f07
7
- data.tar.gz: 9f0e1d4aa2bf17df4ba54df5e6440d1e93ad7fb4043c9a40a7457e7f971166fab62a053eee7ebd15c65f0ba90d2690e67f77748712ce7b2b0b214c034c33c618
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.14
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-05-22 00:00:00.000000000 Z
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.