Search: Change search method based on detected pg version
This commit is contained in:
parent
a407e33c78
commit
9a1e5f5d48
@ -19,7 +19,12 @@ def search(user, search_query, options \\ []) do
|
||||
offset = Keyword.get(options, :offset, 0)
|
||||
author = Keyword.get(options, :author)
|
||||
|
||||
search_function = Pleroma.Config.get([:instance, :search_function], :plain)
|
||||
search_function =
|
||||
if Application.get_env(:postgres, :version) >= 11 do
|
||||
:websearch
|
||||
else
|
||||
:plain
|
||||
end
|
||||
|
||||
Activity
|
||||
|> Activity.with_preloaded_object()
|
||||
|
@ -18,8 +18,9 @@ test "it finds something" do
|
||||
assert result.id == post.id
|
||||
end
|
||||
|
||||
test "using plainto_tsquery" do
|
||||
clear_config([:instance, :search_function], :plain)
|
||||
test "using plainto_tsquery on postgres < 11" do
|
||||
old_config = Application.get_env(:postgres, :version)
|
||||
Application.put_env(:postgres, :version, 10.0)
|
||||
|
||||
user = insert(:user)
|
||||
{:ok, post} = CommonAPI.post(user, %{status: "it's wednesday my dudes"})
|
||||
@ -29,11 +30,11 @@ test "using plainto_tsquery" do
|
||||
assert [result] = Search.search(nil, "wednesday -dudes")
|
||||
|
||||
assert result.id == post.id
|
||||
|
||||
Application.put_env(:postgres, :version, old_config)
|
||||
end
|
||||
|
||||
test "using websearch_to_tsquery" do
|
||||
clear_config([:instance, :search_function], :websearch)
|
||||
|
||||
user = insert(:user)
|
||||
{:ok, _post} = CommonAPI.post(user, %{status: "it's wednesday my dudes"})
|
||||
{:ok, other_post} = CommonAPI.post(user, %{status: "it's wednesday my bros"})
|
||||
|
Loading…
Reference in New Issue
Block a user