lib/searchkick/index.rb in searchkick-1.3.1 vs lib/searchkick/index.rb in searchkick-1.3.2
- old
+ new
@@ -428,11 +428,11 @@
end
mapping = {}
# conversions
- if (conversions_field = options[:conversions])
+ Array(options[:conversions]).each do |conversions_field|
mapping[conversions_field] = {
type: "nested",
properties: {
query: {type: default_type, analyzer: "searchkick_keyword"},
count: {type: "integer"}
@@ -568,11 +568,11 @@
def klass_document_type(klass)
if klass.respond_to?(:document_type)
klass.document_type
else
- klass.model_name.to_s.underscore
+ klass.model_name.singular
end
end
protected
@@ -600,12 +600,13 @@
# stringify fields
# remove _id since search_id is used instead
source = source.inject({}) { |memo, (k, v)| memo[k.to_s] = v; memo }.except("_id")
# conversions
- conversions_field = options[:conversions]
- if conversions_field && source[conversions_field]
- source[conversions_field] = source[conversions_field].map { |k, v| {query: k, count: v} }
+ Array(options[:conversions]).each do |conversions_field|
+ if source[conversions_field]
+ source[conversions_field] = source[conversions_field].map { |k, v| {query: k, count: v} }
+ end
end
# hack to prevent generator field doesn't exist error
(options[:suggest] || []).map(&:to_s).each do |field|
source[field] = nil unless source[field]