summaryrefslogtreecommitdiff
path: root/lib/mix
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mix')
-rw-r--r--lib/mix/tasks/pleroma/search/meilisearch.ex15
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/mix/tasks/pleroma/search/meilisearch.ex b/lib/mix/tasks/pleroma/search/meilisearch.ex
index 1fece96e5..0b86fdece 100644
--- a/lib/mix/tasks/pleroma/search/meilisearch.ex
+++ b/lib/mix/tasks/pleroma/search/meilisearch.ex
@@ -4,6 +4,7 @@
defmodule Mix.Tasks.Pleroma.Search.Meilisearch do
require Logger
+ require Pleroma.Constants
import Mix.Pleroma
import Ecto.Query
@@ -29,7 +30,11 @@ defmodule Mix.Tasks.Pleroma.Search.Meilisearch do
Pleroma.Repo.chunk_stream(
from(Pleroma.Object,
- where: fragment("data->>'type' = 'Note'") and fragment("LENGTH(data->>'source') > 0")
+ # Only index public posts which are notes and have some text
+ where:
+ fragment("data->>'type' = 'Note'") and
+ fragment("LENGTH(data->>'source') > 0") and
+ fragment("data->'to' \\? ?", ^Pleroma.Constants.as_public())
),
200,
:batches
@@ -51,4 +56,12 @@ defmodule Mix.Tasks.Pleroma.Search.Meilisearch do
end)
|> Stream.run()
end
+
+ def run(["clear"]) do
+ start_pleroma()
+
+ endpoint = Pleroma.Config.get([Pleroma.Search.Meilisearch, :url])
+
+ {:ok, _} = Pleroma.HTTP.request(:delete, "#{endpoint}/indexes/objects/documents", "", [], [])
+ end
end