multi-solr 01.01.05 → 01.01.06

Sign up to get free protection for your applications and to get access to all the features.
@@ -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