summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/pleroma/user.ex2
-rw-r--r--priv/repo/migrations/20190118074940_fix_user_trigram_index.exs13
2 files changed, 14 insertions, 1 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index 1d0bf1edf..eb4218ebe 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -744,7 +744,7 @@ defmodule Pleroma.User do
select_merge: %{
search_rank:
fragment(
- "similarity(?, ? || ' ' || coalesce(?, ''))",
+ "similarity(?, trim(? || ' ' || coalesce(?, '')))",
^query,
u.nickname,
u.name
diff --git a/priv/repo/migrations/20190118074940_fix_user_trigram_index.exs b/priv/repo/migrations/20190118074940_fix_user_trigram_index.exs
new file mode 100644
index 000000000..4f7712eb0
--- /dev/null
+++ b/priv/repo/migrations/20190118074940_fix_user_trigram_index.exs
@@ -0,0 +1,13 @@
+defmodule Pleroma.Repo.Migrations.FixUserTrigramIndex do
+ use Ecto.Migration
+
+ def up do
+ drop_if_exists index(:users, [], name: :users_trigram_index)
+ create index(:users, ["(trim(nickname || ' ' || name)) gist_trgm_ops"], name: :users_trigram_index, using: :gist)
+ end
+
+ def down do
+ drop_if_exists index(:users, [], name: :users_trigram_index)
+ create index(:users, ["(nickname || name) gist_trgm_ops"], name: :users_trigram_index, using: :gist)
+ end
+end