Commit 34a62ff4 authored by Eugen Rochko's avatar Eugen Rochko
Browse files

Fix account search showing results from domains hidden by user

Fix #8586
parent 52157fdc
Showing with 14 additions and 4 deletions
+14 -4
...@@ -46,9 +46,19 @@ class AccountSearchService < BaseService ...@@ -46,9 +46,19 @@ class AccountSearchService < BaseService
return [] if limit_for_non_exact_results.zero? return [] if limit_for_non_exact_results.zero?
@search_results ||= begin @search_results ||= begin
results = from_elasticsearch if Chewy.enabled? results = from_elasticsearch if Chewy.enabled?
results ||= from_database results ||= from_database
results results.reject { |result| excluded_domains.include?(result.domain) }
end
end
def excluded_domains
@excluded_domains ||= begin
if account
Set.new(account.excluded_from_timeline_domains)
else
Set.new
end
end end
end end
...@@ -69,8 +79,8 @@ class AccountSearchService < BaseService ...@@ -69,8 +79,8 @@ class AccountSearchService < BaseService
end end
def from_elasticsearch def from_elasticsearch
must_clauses = [{ multi_match: { query: terms_for_query, fields: likely_acct? ? %w(acct.edge_ngram acct) : %w(acct.edge_ngram acct display_name.edge_ngram display_name), type: 'most_fields', operator: 'and' } }] must_clauses = [{ multi_match: { query: terms_for_query, fields: likely_acct? ? %w(acct.edge_ngram acct) : %w(acct.edge_ngram acct display_name.edge_ngram display_name), type: 'most_fields', operator: 'and' } }]
should_clauses = [] should_clauses = []
if account if account
return [] if options[:following] && following_ids.empty? return [] if options[:following] && following_ids.empty?
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment