multi-solr 01.01.05 → 01.01.06

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.
@@ -193,12 +193,9 @@ class MultiSolr::SingleCoreHandler
193
193
  solr_params = {}
194
194
  solr_params['stats.field'] = []
195
195
 
196
- fq_params = self.force_query_params options[:context]
197
- if fq_params && fq_params.is_a?(Hash)
198
- fq = []
199
- fq_params.each{|k, v| fq << "#{k}:#{v}"}
200
- solr_params[:fq] = fq.join(' ')
201
- end
196
+ fq_string = self.force_query_params options[:context]
197
+ fq_string = join_params(fq_string) if fq_string.is_a?(Hash) # wegen abwärtskompatibilität (Früher lieferte die Funktion force_query_params eine Hash)
198
+ solr_params[:fq] = fq_string if fq_string
202
199
 
203
200
  q = solr_search_request.build_query
204
201
  q = "*:*" if q.blank? # wenn keine Query angegeben ist, dann nach allem Suchen
@@ -268,12 +265,25 @@ class MultiSolr::SingleCoreHandler
268
265
 
269
266
  protected
270
267
 
271
- # liefert wenn notwendig die Parameter als Hash für eine SOLR-Force-Query
268
+ # liefert wenn notwendig die Parameter als String für eine SOLR-Force-Query
272
269
  # sollte bei Bedarf von der nutzenden Klasse überschrieben werden.
273
270
  # params:
274
271
  # context: Hash mit weiteren Context-Informationen
275
272
  def force_query_params context
276
- context
273
+ return nil if context.nil?
274
+ if context.is_a?(Hash)
275
+ return join_params(context)
276
+ elsif context.is_a?(String)
277
+ return context
278
+ else
279
+ raise "Unknown fq_params=#{fq_params.inspect} ! Only Hash or Strin allowed."
280
+ end
281
+ end
282
+
283
+ def join_params params, sep=' '
284
+ p = []
285
+ params.each{|k, v| p << "#{k}:#{v}"}
286
+ return p.join(sep)
277
287
  end
278
288
 
279
289
 
@@ -1,3 +1,3 @@
1
1
  module MultiSolr
2
- VERSION = "01.01.05"
2
+ VERSION = "01.01.06"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: multi-solr
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 31
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 1
9
- - 5
10
- version: 01.01.05
9
+ - 6
10
+ version: 01.01.06
11
11
  platform: ruby
12
12
  authors:
13
13
  - Bernd Ledig
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-05-07 00:00:00 +02:00
18
+ date: 2012-06-04 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency