Improved search results for localized nickname match. Tweaked user search to rank nickname matches higher than name matches.
This commit is contained in:
parent
a8447c3803
commit
704a383055
3 changed files with 44 additions and 15 deletions
|
|
@ -88,15 +88,21 @@ defmodule Pleroma.User.Search do
|
|||
|> Enum.join(" | ")
|
||||
end
|
||||
|
||||
# Considers nickname match, localized nickname match, name match; preferences nickname match
|
||||
defp trigram_rank(query, query_string) do
|
||||
from(
|
||||
u in query,
|
||||
select_merge: %{
|
||||
search_rank:
|
||||
fragment(
|
||||
"similarity(?, trim(? || ' ' || coalesce(?, '')))",
|
||||
"similarity(?, ?) + \
|
||||
similarity(?, regexp_replace(?, '@.+', '')) + \
|
||||
similarity(?, trim(coalesce(?, '')))",
|
||||
^query_string,
|
||||
u.nickname,
|
||||
^query_string,
|
||||
u.nickname,
|
||||
^query_string,
|
||||
u.name
|
||||
)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue