fix rum search for CJK languages
ci/woodpecker/pr/build-amd64 Pipeline is pending Details
ci/woodpecker/pr/build-arm64 Pipeline is pending Details
ci/woodpecker/pr/docs Pipeline is pending Details
ci/woodpecker/pr/lint Pipeline is pending Details
ci/woodpecker/pr/test Pipeline is pending Details

This commit is contained in:
chayleaf 2023-10-20 18:29:51 +07:00 committed by chayleaf
parent d1af78aba1
commit 41c42bdf61
1 changed files with 16 additions and 2 deletions

View File

@ -109,10 +109,17 @@ defmodule Pleroma.Search.DatabaseSearch do
end
defp query_with(q, :rum, search_query, :plain) do
%{rows: [[tsc]]} =
Ecto.Adapters.SQL.query!(
Pleroma.Repo,
"select current_setting('default_text_search_config')::regconfig::oid;"
)
from([a, o] in q,
where:
fragment(
"? @@ plainto_tsquery(?)",
"to_tsvector(?::oid::regconfig, ?) @@ plainto_tsquery(?)",
^tsc,
o.fts_content,
^search_query
),
@ -121,10 +128,17 @@ defmodule Pleroma.Search.DatabaseSearch do
end
defp query_with(q, :rum, search_query, :websearch) do
%{rows: [[tsc]]} =
Ecto.Adapters.SQL.query!(
Pleroma.Repo,
"select current_setting('default_text_search_config')::regconfig::oid;"
)
from([a, o] in q,
where:
fragment(
"? @@ websearch_to_tsquery(?)",
"to_tsvector(?::oid::regconfig, ?) @@ websearch_to_tsquery(?)",
^tsc,
o.fts_content,
^search_query
),