solr_lite 0.0.11 → 0.0.12

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7490fe4dbdd932ae092dede6a02e451c6cf4b382d3ac1af6238786c4fb1d8de4
4
- data.tar.gz: e4fb40cf1f393dd1653bbc4e7ce0133dca2e07c9856e233103de113fd27c57fc
3
+ metadata.gz: 7b1785dbc649686a2b6865b3db5a53bb5d6edb47be43e0bc96f59f9914ca34a5
4
+ data.tar.gz: 7663f28bd72f9d5e29c191bdc9cc7294b39e3fa52978a1383729d9cac40496ba
5
5
  SHA512:
6
- metadata.gz: 27446e3963fd8216668b56c8c854aa05d919f315f836b14fceef4ecf416545c753b17fca18c821efbee14b5a74ae4dd9835a4741e1228f7043cdf8505d84b545
7
- data.tar.gz: 6eb4cb16107678f2ca0055cb7fd66f5744a8d945ae18f6a8e92f1d66c6eda69aa5e4c01acc472df1206e875af3456fee649f3aff1cb6ebd3818931ad0935d71d
6
+ metadata.gz: 853884d279a914c89433a45347c6df818411387da00e981ddf10ad7f63dfc6923e58073f9f481e0b348a24f185a1798896a256743232b7b60b5c26b957e801d8
7
+ data.tar.gz: 98ee2842be1b527a1d9073e72cc4a03d1dc4a1eac6cbbd3c00cddf0812b84decf574b64a87e5c45c351e80fc93d5e900e7a3ac60a174c906fd62450c2fb29a45
data/lib/facet_field.rb CHANGED
@@ -14,7 +14,8 @@ module SolrLite
14
14
  end
15
15
 
16
16
  attr_accessor :name, :title, :values,
17
- :range, :range_start, :range_end, :range_gap
17
+ :range, :range_start, :range_end, :range_gap,
18
+ :limit
18
19
 
19
20
  def initialize(name, display_value)
20
21
  @name = name # field name in Solr
@@ -25,6 +26,7 @@ module SolrLite
25
26
  @range_start = nil
26
27
  @range_end = nil
27
28
  @range_gap = nil
29
+ @limit = nil
28
30
  end
29
31
 
30
32
  def to_qs(text)
data/lib/filter_query.rb CHANGED
@@ -16,6 +16,18 @@ module SolrLite
16
16
  end
17
17
  end
18
18
 
19
+ def range_from()
20
+ tokens = (value || "").split(" - ")
21
+ return nil if tokens.count != 2
22
+ tokens[0].gsub("*","")
23
+ end
24
+
25
+ def range_to()
26
+ tokens = (value || "").split(" - ")
27
+ return nil if tokens.count != 2
28
+ tokens[1].gsub("*","")
29
+ end
30
+
19
31
  # qs is assumed to be the value taken from the query string
20
32
  # in the form `field|value` or `field|value1|valueN`.
21
33
  #
@@ -58,9 +70,9 @@ module SolrLite
58
70
  # Creates a filter query (fq) string as needed by Solr from
59
71
  # an array of values. Handles single and multi-value gracefully.
60
72
  # For single-value it returns "(field:value)". For multi-value
61
- # it returns "(field:value1) OR (field:value2)"
62
- #
63
- # TODO: Should multivalue use an AND instead of an OR?
73
+ # it returns "(field:value1) OR (field:value2)". We use the
74
+ # multi-value in the Advanced Search when we allow the user to
75
+ # select multiple values for a single facet.
64
76
  def to_solr_fq_value(field, values)
65
77
  solr_value = ""
66
78
  values.each_with_index do |v, i|
@@ -75,6 +87,12 @@ module SolrLite
75
87
  end
76
88
 
77
89
  def to_solr_fq_value_range(field, range_start, range_end)
90
+ if range_start.empty?
91
+ range_start = "*"
92
+ end
93
+ if range_end.empty?
94
+ range_end = "*"
95
+ end
78
96
  solr_value = '(' + field + ':[' + range_start + ' TO ' + range_end + '])'
79
97
  # Very important to escape the : otherwise URL.parse throws an error in Linux
80
98
  CGI.escape(solr_value)
data/lib/search_params.rb CHANGED
@@ -202,7 +202,10 @@ module SolrLite
202
202
  @facets.each do |f|
203
203
  qs += "&facet.field=#{f.name}"
204
204
  qs += "&f.#{f.name}.facet.mincount=1"
205
- if @facet_limit != nil
205
+
206
+ if f.limit != nil
207
+ qs += "&f.#{f.name}.facet.limit=#{f.limit}"
208
+ elsif @facet_limit != nil
206
209
  qs += "&f.#{f.name}.facet.limit=#{@facet_limit}"
207
210
  end
208
211
 
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.11
4
+ version: 0.0.12
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-02-07 00:00:00.000000000 Z
11
+ date: 2019-03-14 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.