about summary refs log tree commit diff
path: root/app/chewy
diff options
context:
space:
mode:
Diffstat (limited to 'app/chewy')
-rw-r--r--app/chewy/accounts_index.rb15
1 files changed, 11 insertions, 4 deletions
diff --git a/app/chewy/accounts_index.rb b/app/chewy/accounts_index.rb
index e11b80039..b814e009e 100644
--- a/app/chewy/accounts_index.rb
+++ b/app/chewy/accounts_index.rb
@@ -26,10 +26,17 @@ class AccountsIndex < Chewy::Index
   define_type ::Account.searchable.includes(:account_stat), delete_if: ->(account) { account.destroyed? || !account.searchable? } do
     root date_detection: false do
       field :id, type: 'long'
-      field :display_name, type: 'text', analyzer: 'edge_ngram', search_analyzer: 'content'
-      field :acct, type: 'text', analyzer: 'edge_ngram', search_analyzer: 'content', value: ->(account) { [account.username, account.domain].compact.join('@') }
-      field :following_count, type: 'long', value: ->(account) { account.active_relationships.count }
-      field :followers_count, type: 'long', value: ->(account) { account.passive_relationships.count }
+
+      field :display_name, type: 'text', analyzer: 'content' do
+        field :edge_ngram, type: 'text', analyzer: 'edge_ngram', search_analyzer: 'content'
+      end
+
+      field :acct, type: 'text', analyzer: 'content', value: ->(account) { [account.username, account.domain].compact.join('@') } do
+        field :edge_ngram, type: 'text', analyzer: 'edge_ngram', search_analyzer: 'content'
+      end
+
+      field :following_count, type: 'long', value: ->(account) { account.following.local.count }
+      field :followers_count, type: 'long', value: ->(account) { account.followers.local.count }
       field :last_status_at, type: 'date', value: ->(account) { account.last_status_at || account.created_at }
     end
   end