[#477] Added FTS index for `users`. Fixed failing test.
This commit is contained in:
parent
dc45ec62c2
commit
fc965f982c
|
@ -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
|
|
@ -1655,16 +1655,16 @@ test "it denies a friend request" do
|
||||||
describe "GET /api/pleroma/search_user" do
|
describe "GET /api/pleroma/search_user" do
|
||||||
test "it returns users, ordered by similarity", %{conn: conn} do
|
test "it returns users, ordered by similarity", %{conn: conn} do
|
||||||
user = insert(:user, %{name: "eal"})
|
user = insert(:user, %{name: "eal"})
|
||||||
user_two = insert(:user, %{name: "ean"})
|
user_two = insert(:user, %{name: "eal me"})
|
||||||
user_three = insert(:user, %{name: "ebn"})
|
_user_three = insert(:user, %{name: "ebn"})
|
||||||
|
|
||||||
resp =
|
resp =
|
||||||
conn
|
conn
|
||||||
|> get(twitter_api_search__path(conn, :search_user), query: "eal")
|
|> get(twitter_api_search__path(conn, :search_user), query: "eal me")
|
||||||
|> json_response(200)
|
|> json_response(200)
|
||||||
|
|
||||||
assert length(resp) == 3
|
assert length(resp) == 2
|
||||||
assert [user.id, user_two.id, user_three.id] == Enum.map(resp, fn %{"id" => id} -> id end)
|
assert [user_two.id, user.id] == Enum.map(resp, fn %{"id" => id} -> id end)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue