diff options
author | Ekaterina Vaartis <vaartis@kotobank.ch> | 2021-08-22 22:53:18 +0300 |
---|---|---|
committer | Ekaterina Vaartis <vaartis@kotobank.ch> | 2022-10-10 20:19:09 +0300 |
commit | 35e9192cedcbc56fb07c9933e2988bf900256b53 (patch) | |
tree | 72202382a16eb739ace9060682c560e7bea73146 /lib/mix | |
parent | 3dedadf192a3acd0c1dfc2b11eba5a247ae7f61c (diff) | |
download | pleroma-35e9192cedcbc56fb07c9933e2988bf900256b53.tar.gz pleroma-35e9192cedcbc56fb07c9933e2988bf900256b53.zip |
Rework task indexing to share code with the main module
The code in the main module now scrubs new posts too
Diffstat (limited to 'lib/mix')
-rw-r--r-- | lib/mix/tasks/pleroma/search/meilisearch.ex | 35 |
1 files changed, 2 insertions, 33 deletions
diff --git a/lib/mix/tasks/pleroma/search/meilisearch.ex b/lib/mix/tasks/pleroma/search/meilisearch.ex index 3704e0bdc..b5a394e34 100644 --- a/lib/mix/tasks/pleroma/search/meilisearch.ex +++ b/lib/mix/tasks/pleroma/search/meilisearch.ex @@ -51,40 +51,9 @@ defmodule Mix.Tasks.Pleroma.Search.Meilisearch do ), timeout: :infinity ) + |> Stream.map(&Pleroma.Search.Meilisearch.object_to_search_data/1) + |> Stream.filter(fn o -> not is_nil(o) end) |> Stream.chunk_every(chunk_size) - |> Stream.map(fn objects -> - Enum.map(objects, fn object -> - data = object.data - - content_str = - case data["content"] do - [nil | rest] -> to_string(rest) - str -> str - end - - {:ok, published, _} = DateTime.from_iso8601(data["published"]) - - content = - with {:ok, scrubbed} <- FastSanitize.strip_tags(content_str), - trimmed <- String.trim(scrubbed) do - trimmed - end - - # Only index if there is anything in the string. If there is a single symbol, - # it's probably a dot from mastodon posts with just the picture - if String.length(content) > 1 do - %{ - id: object.id, - content: content, - ap: data["id"], - published: published |> DateTime.to_unix() - } - else - nil - end - end) - |> Enum.filter(fn o -> not is_nil(o) end) - end) |> Stream.transform(0, fn objects, acc -> new_acc = acc + Enum.count(objects) |