From 3ebc0ad4d3c2fe0b0951a334642b769bd521a799 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 9 Feb 2018 23:04:47 +0100 Subject: Full-text search for authorized statuses (#6423) * Add full-text search for authorized statuses - Search API will return statuses that match the query - Only for logged in users - Only if you are author of the status, - Or you were mentioned in it - Or you favourited or reblogged it - Configuration over `ES_ENABLED`, `ES_HOST`, `ES_PORT`, `ES_PREFIX` - Run `rails chewy:deploy` to create & populate index Fix #5880 Fix #4293 Fix #1152 * Add commented out docker-compose configuration for ES container * Optimize index import, filter search results * Add basic normalization to the index * Add better stemming and normalization to the index * Skip webfinger request if search query includes both @ and a space * Fix code style * Visually separate search result sections * Fix code style issues --- config/initializers/chewy.rb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 config/initializers/chewy.rb (limited to 'config/initializers') diff --git a/config/initializers/chewy.rb b/config/initializers/chewy.rb new file mode 100644 index 000000000..bef2746ec --- /dev/null +++ b/config/initializers/chewy.rb @@ -0,0 +1,22 @@ +enabled = ENV['ES_ENABLED'] == 'true' +host = ENV.fetch('ES_HOST') { 'localhost' } +port = ENV.fetch('ES_PORT') { 9200 } +fallback_prefix = ENV.fetch('REDIS_NAMESPACE') { nil } +prefix = ENV.fetch('ES_PREFIX') { fallback_prefix } + +Chewy.settings = { + host: "#{host}:#{port}", + prefix: prefix, + enabled: enabled, + journal: false, +} + +Chewy.root_strategy = enabled ? :sidekiq : :bypass + +module Chewy + class << self + def enabled? + settings[:enabled] + end + end +end -- cgit