Consolidate elasticsearch application settings into one field
Background
There are 22 elasticsearch settings in the application_settings table:
["elasticsearch_worker_number_of_shards",
"elasticsearch_analyzers_kuromoji_search",
"elasticsearch_analyzers_smartcn_enabled",
"elasticsearch_analyzers_smartcn_search",
"elasticsearch_aws",
"elasticsearch_requeue_workers",
"elasticsearch_retry_on_failure",
"elasticsearch_search",
"elasticsearch_analyzers_kuromoji_enabled",
"elasticsearch_client_request_timeout",
"elasticsearch_indexed_field_length_limit",
"elasticsearch_indexed_file_size_limit_kb",
"elasticsearch_indexing",
"elasticsearch_limit_indexing",
"elasticsearch_max_bulk_concurrency",
"elasticsearch_max_bulk_size_mb",
"elasticsearch_max_code_indexing_concurrency",
"elasticsearch_pause_indexing",
"elasticsearch_aws_access_key",
"elasticsearch_aws_region",
"elasticsearch_url",
"elasticsearch_username"]
According to the developer docs we should save all elasticsearch settings into one JSONB field:
Proposal
Create a single application setting called elasticsearch for all elasticsearch-related settings and move the existing settings into that field.
