diff options
author | Lain Soykaf <lain@lain.com> | 2024-05-14 17:19:36 +0400 |
---|---|---|
committer | Lain Soykaf <lain@lain.com> | 2024-05-14 17:19:36 +0400 |
commit | 1261c43a7af48ed6e6753461944659391c4c58cc (patch) | |
tree | 55ab777ebec8fe5b3e5dad7b887c7c10a7778148 | |
parent | c50f0f31f418037063bd97efcdc0f60b89594212 (diff) | |
download | pleroma-1261c43a7af48ed6e6753461944659391c4c58cc.tar.gz pleroma-1261c43a7af48ed6e6753461944659391c4c58cc.zip |
SearchBackend: Add create_index
-rw-r--r-- | lib/mix/tasks/pleroma/search/indexer.ex | 6 | ||||
-rw-r--r-- | lib/pleroma/search/qdrant_search.ex | 3 | ||||
-rw-r--r-- | lib/pleroma/search/search_backend.ex | 5 |
3 files changed, 13 insertions, 1 deletions
diff --git a/lib/mix/tasks/pleroma/search/indexer.ex b/lib/mix/tasks/pleroma/search/indexer.ex index ffa2f3c94..326646b69 100644 --- a/lib/mix/tasks/pleroma/search/indexer.ex +++ b/lib/mix/tasks/pleroma/search/indexer.ex @@ -8,6 +8,12 @@ defmodule Mix.Tasks.Pleroma.Search.Indexer do alias Pleroma.Workers.SearchIndexingWorker + def run(["create_index"]) do + Application.ensure_all_started(:pleroma) + + Pleroma.Config.get([Pleroma.Search, :module]).create_index() + end + def run(["index" | options]) do {options, [], []} = OptionParser.parse( diff --git a/lib/pleroma/search/qdrant_search.ex b/lib/pleroma/search/qdrant_search.ex index 31e7754ae..315262cb3 100644 --- a/lib/pleroma/search/qdrant_search.ex +++ b/lib/pleroma/search/qdrant_search.ex @@ -8,7 +8,8 @@ defmodule Pleroma.Search.QdrantSearch do import Pleroma.Search.Meilisearch, only: [object_to_search_data: 1] - def initialize_index() do + @impl true + def create_index() do payload = Pleroma.Config.get([Pleroma.Search.QdrantSearch, :qdrant_index_configuration]) QdrantClient.put("/collections/posts", payload) end diff --git a/lib/pleroma/search/search_backend.ex b/lib/pleroma/search/search_backend.ex index 68bc48cec..5be0169d0 100644 --- a/lib/pleroma/search/search_backend.ex +++ b/lib/pleroma/search/search_backend.ex @@ -21,4 +21,9 @@ defmodule Pleroma.Search.SearchBackend do from index. """ @callback remove_from_index(object :: Pleroma.Object.t()) :: :ok | {:error, any()} + + @doc """ + Create the index + """ + @callback create_index() :: :ok | {:error, any()} end |