diff options
author | lain <lain@soykaf.club> | 2019-06-06 16:18:27 +0200 |
---|---|---|
committer | lain <lain@soykaf.club> | 2019-06-06 16:18:27 +0200 |
commit | cb2bcee842f07358db4d37de1b9a32c9d69d487c (patch) | |
tree | 00a50a3d07d0088000a9ba97523844a5871e7489 | |
parent | 7e9f7ea0c21d51c5fedf89ea1feb503b77c78bba (diff) | |
download | pleroma-cb2bcee842f07358db4d37de1b9a32c9d69d487c.tar.gz pleroma-cb2bcee842f07358db4d37de1b9a32c9d69d487c.zip |
User Search: Boost friends more strongly.
-rw-r--r-- | lib/pleroma/user/search.ex | 4 | ||||
-rw-r--r-- | test/tasks/user_test.exs | 21 |
2 files changed, 23 insertions, 2 deletions
diff --git a/lib/pleroma/user/search.ex b/lib/pleroma/user/search.ex index e74143cd0..add6a0bbf 100644 --- a/lib/pleroma/user/search.ex +++ b/lib/pleroma/user/search.ex @@ -86,8 +86,8 @@ defmodule Pleroma.User.Search do search_rank: fragment( """ - CASE WHEN (?) THEN (?) * 1.3 - WHEN (?) THEN (?) * 1.2 + CASE WHEN (?) THEN 0.5 + (?) * 1.3 + WHEN (?) THEN 0.5 + (?) * 1.2 WHEN (?) THEN (?) * 1.1 ELSE (?) END """, diff --git a/test/tasks/user_test.exs b/test/tasks/user_test.exs index 260ce0d95..6fd7c7113 100644 --- a/test/tasks/user_test.exs +++ b/test/tasks/user_test.exs @@ -366,4 +366,25 @@ defmodule Mix.Tasks.Pleroma.UserTest do refute user.info.confirmation_token end end + + describe "search" do + test "it returns users matching" do + user = insert(:user) + moon = insert(:user, nickname: "moon", name: "fediverse expert moon") + moot = insert(:user, nickname: "moot") + kawen = insert(:user, nickname: "kawen", name: "fediverse expert moon") + + {:ok, user} = User.follow(user, kawen) + + assert [moon.id, kawen.id] == User.Search.search("moon") |> Enum.map(& &1.id) + res = User.search("moo") |> Enum.map(& &1.id) + assert moon.id in res + assert moot.id in res + assert kawen.id in res + assert [moon.id, kawen.id] == User.Search.search("moon fediverse") |> Enum.map(& &1.id) + + assert [kawen.id, moon.id] == + User.Search.search("moon fediverse", for_user: user) |> Enum.map(& &1.id) + end + end end |