mirror of
https://github.com/mastodon/mastodon.git
synced 2025-05-07 12:16:14 +00:00
26 lines
850 B
Ruby
26 lines
850 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Chewy
|
|
module IndexExtensions
|
|
def index_preset(base_options = {})
|
|
case ENV['ES_PRESET'].presence
|
|
when 'single_node_cluster', nil
|
|
base_options.merge(number_of_replicas: 0)
|
|
when 'small_cluster'
|
|
base_options.merge(number_of_replicas: 1)
|
|
when 'large_cluster'
|
|
base_options.merge(number_of_replicas: 1, number_of_shards: (base_options[:number_of_shards] || 1) * 2)
|
|
end
|
|
end
|
|
|
|
def update_specification
|
|
client.indices.close index: index_name
|
|
client.indices.put_settings index: index_name, body: { settings: { analysis: settings_hash[:settings][:analysis] } }
|
|
client.indices.put_mapping index: index_name, body: root.mappings_hash
|
|
client.indices.open index: index_name
|
|
end
|
|
end
|
|
end
|
|
|
|
Chewy::Index.extend(Chewy::IndexExtensions)
|