about summary refs log tree commit diff
path: root/db/migrate
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2017-03-17 20:47:38 +0100
committerEugen Rochko <eugen@zeonfederated.com>2017-03-17 20:48:14 +0100
commitad0d82d3cee27839371b3182b434d8e78092890a (patch)
tree1028396d66d956c2a1ed696e59a9e4c41c123fed /db/migrate
parent22f9399cc30b2fa41a2813ccf559b7fd05be251d (diff)
Make account search blazing fast and rank followers/followees higher in the results
Diffstat (limited to 'db/migrate')
-rw-r--r--db/migrate/20170317193015_add_search_index_to_accounts.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/db/migrate/20170317193015_add_search_index_to_accounts.rb b/db/migrate/20170317193015_add_search_index_to_accounts.rb
new file mode 100644
index 000000000..14e174147
--- /dev/null
+++ b/db/migrate/20170317193015_add_search_index_to_accounts.rb
@@ -0,0 +1,9 @@
+class AddSearchIndexToAccounts < ActiveRecord::Migration[5.0]
+  def up
+    execute 'CREATE INDEX search_index ON accounts USING gin((setweight(to_tsvector(\'simple\', accounts.display_name), \'A\') || setweight(to_tsvector(\'simple\', accounts.username), \'B\') || setweight(to_tsvector(\'simple\', coalesce(accounts.domain, \'\')), \'C\')));'
+  end
+
+  def down
+    remove_index :accounts, name: :search_index
+  end
+end