diff options
author | lambda <pleromagit@rogerbraun.net> | 2019-01-20 10:24:05 +0000 |
---|---|---|
committer | lambda <pleromagit@rogerbraun.net> | 2019-01-20 10:24:05 +0000 |
commit | f3045a179e40bd8f670be588a8e93b8d05e95d27 (patch) | |
tree | dc3a665639d97c2bc274626fffb745e61b8be229 /priv | |
parent | 42612b1c8d356843b9e8785d3a91072f38fb50cf (diff) | |
parent | 5834b08fe77250d1dad0f2f6cd148f2fd8f85c09 (diff) | |
download | pleroma-f3045a179e40bd8f670be588a8e93b8d05e95d27.tar.gz |
Merge branch 'i1t/pleroma-477_user_search_improvements' into 'develop'
I1t/pleroma 477 user search improvements
See merge request pleroma/pleroma!685
Diffstat (limited to 'priv')
-rw-r--r-- | priv/repo/migrations/20190115085500_create_user_fts_index.exs | 17 | ||||
-rw-r--r-- | priv/repo/migrations/20190118074940_fix_user_trigram_index.exs | 22 |
2 files changed, 39 insertions, 0 deletions
diff --git a/priv/repo/migrations/20190115085500_create_user_fts_index.exs b/priv/repo/migrations/20190115085500_create_user_fts_index.exs new file mode 100644 index 000000000..499d67113 --- /dev/null +++ b/priv/repo/migrations/20190115085500_create_user_fts_index.exs @@ -0,0 +1,17 @@ +defmodule Pleroma.Repo.Migrations.CreateUserFtsIndex do + use Ecto.Migration + + def change do + create index( + :users, + [ + """ + (setweight(to_tsvector('simple', regexp_replace(nickname, '\\W', ' ', 'g')), 'A') || + setweight(to_tsvector('simple', regexp_replace(coalesce(name, ''), '\\W', ' ', 'g')), 'B')) + """ + ], + name: :users_fts_index, + using: :gin + ) + end +end 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..b4e8c984c --- /dev/null +++ b/priv/repo/migrations/20190118074940_fix_user_trigram_index.exs @@ -0,0 +1,22 @@ +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 || ' ' || coalesce(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 |