forked from AkkomaGang/akkoma
Merge branch 'failing-search-fixes' into 'develop'
User Search: Remove superfluous setweight and random test. See merge request pleroma/pleroma!1935
This commit is contained in:
commit
fee1276963
2 changed files with 1 additions and 18 deletions
|
@ -54,15 +54,7 @@ defp search_query(query_string, for_user, following) do
|
||||||
|> maybe_restrict_local(for_user)
|
|> maybe_restrict_local(for_user)
|
||||||
end
|
end
|
||||||
|
|
||||||
@nickname_regex ~r/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~\-@]+$/
|
|
||||||
defp fts_search(query, query_string) do
|
defp fts_search(query, query_string) do
|
||||||
{nickname_weight, name_weight} =
|
|
||||||
if String.match?(query_string, @nickname_regex) do
|
|
||||||
{"A", "B"}
|
|
||||||
else
|
|
||||||
{"B", "A"}
|
|
||||||
end
|
|
||||||
|
|
||||||
query_string = to_tsquery(query_string)
|
query_string = to_tsquery(query_string)
|
||||||
|
|
||||||
from(
|
from(
|
||||||
|
@ -70,12 +62,10 @@ defp fts_search(query, query_string) do
|
||||||
where:
|
where:
|
||||||
fragment(
|
fragment(
|
||||||
"""
|
"""
|
||||||
(setweight(to_tsvector('simple', ?), ?) || setweight(to_tsvector('simple', ?), ?)) @@ to_tsquery('simple', ?)
|
(to_tsvector('simple', ?) || to_tsvector('simple', ?)) @@ to_tsquery('simple', ?)
|
||||||
""",
|
""",
|
||||||
u.name,
|
u.name,
|
||||||
^name_weight,
|
|
||||||
u.nickname,
|
u.nickname,
|
||||||
^nickname_weight,
|
|
||||||
^query_string
|
^query_string
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
|
@ -51,13 +51,6 @@ test "finds a user by full or partial name" do
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
test "finds users, preferring nickname matches over name matches" do
|
|
||||||
u1 = insert(:user, %{name: "lain", nickname: "nick1"})
|
|
||||||
u2 = insert(:user, %{nickname: "lain", name: "nick1"})
|
|
||||||
|
|
||||||
assert [u2.id, u1.id] == Enum.map(User.search("lain"), & &1.id)
|
|
||||||
end
|
|
||||||
|
|
||||||
test "finds users, considering density of matched tokens" do
|
test "finds users, considering density of matched tokens" do
|
||||||
u1 = insert(:user, %{name: "Bar Bar plus Word Word"})
|
u1 = insert(:user, %{name: "Bar Bar plus Word Word"})
|
||||||
u2 = insert(:user, %{name: "Word Word Bar Bar Bar"})
|
u2 = insert(:user, %{name: "Word Word Bar Bar Bar"})
|
||||||
|
|
Loading…
Reference in a new issue