Fix User search.

Now uses a trigram based search. This is a lot faster and gives better
results. Closes #185.
This commit is contained in:
lain 2018-05-16 17:55:20 +02:00
commit 1d4bbec6b3
5 changed files with 54 additions and 13 deletions

View file

@ -0,0 +1,15 @@
defmodule Pleroma.Repo.Migrations.AddTrigramExtension do
use Ecto.Migration
require Logger
def up do
Logger.warn("ATTENTION ATTENTION ATTENTION\n")
Logger.warn("This will try to create the pg_trgm extension on your database. If your database user does NOT have the necessary rights, you will have to do it manually and re-run the migrations.\nYou can probably do this by running the following:\n")
Logger.warn("sudo -u postgres psql pleroma_dev -c \"create extension if not exists pg_trgm\"\n")
execute("create extension if not exists pg_trgm")
end
def down do
execute("drop extension if exists pg_trgm")
end
end

View file

@ -0,0 +1,7 @@
defmodule Pleroma.Repo.Migrations.CreateUserTrigramIndex do
use Ecto.Migration
def change do
create index(:users, ["(nickname || name) gist_trgm_ops"], name: :users_trigram_index, using: :gist)
end
end