summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorLain Soykaf <lain@lain.com>2024-05-14 17:19:36 +0400
committerLain Soykaf <lain@lain.com>2024-05-14 17:19:36 +0400
commit1261c43a7af48ed6e6753461944659391c4c58cc (patch)
tree55ab777ebec8fe5b3e5dad7b887c7c10a7778148 /lib
parentc50f0f31f418037063bd97efcdc0f60b89594212 (diff)
downloadpleroma-1261c43a7af48ed6e6753461944659391c4c58cc.tar.gz
pleroma-1261c43a7af48ed6e6753461944659391c4c58cc.zip
SearchBackend: Add create_index
Diffstat (limited to 'lib')
-rw-r--r--lib/mix/tasks/pleroma/search/indexer.ex6
-rw-r--r--lib/pleroma/search/qdrant_search.ex3
-rw-r--r--lib/pleroma/search/search_backend.ex5
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