summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEkaterina Vaartis <vaartis@kotobank.ch>2021-08-23 20:21:46 +0300
committerEkaterina Vaartis <vaartis@kotobank.ch>2022-10-10 20:19:09 +0300
commit09a1ae1b6eca4efbb935aa1c0da950009d110fb2 (patch)
tree168e837059a5bf0980f8731415132bff729122d3
parenta67f9da5cc46b4e184aa1afe3dd1bd1df31de15b (diff)
downloadpleroma-09a1ae1b6eca4efbb935aa1c0da950009d110fb2.tar.gz
pleroma-09a1ae1b6eca4efbb935aa1c0da950009d110fb2.zip
Add the meilisearch.stats command
-rw-r--r--lib/mix/tasks/pleroma/search/meilisearch.ex10
-rw-r--r--lib/pleroma/search/meilisearch.ex12
2 files changed, 21 insertions, 1 deletions
diff --git a/lib/mix/tasks/pleroma/search/meilisearch.ex b/lib/mix/tasks/pleroma/search/meilisearch.ex
index 557b06182..f2d9fe312 100644
--- a/lib/mix/tasks/pleroma/search/meilisearch.ex
+++ b/lib/mix/tasks/pleroma/search/meilisearch.ex
@@ -9,7 +9,7 @@ defmodule Mix.Tasks.Pleroma.Search.Meilisearch do
import Mix.Pleroma
import Ecto.Query
- import Pleroma.Search.Meilisearch, only: [meili_post!: 2, meili_delete!: 1]
+ import Pleroma.Search.Meilisearch, only: [meili_post!: 2, meili_delete!: 1, meili_get!: 1]
def run(["index"]) do
start_pleroma()
@@ -111,4 +111,12 @@ defmodule Mix.Tasks.Pleroma.Search.Meilisearch do
IO.puts("Error fetching the key, check the master key is correct: #{inspect(decoded)}")
end
end
+
+ def run(["stats"]) do
+ start_pleroma()
+
+ result = meili_get!("/indexes/objects/stats")
+ IO.puts("Number of entries: #{result["numberOfDocuments"]}")
+ IO.puts("Indexing? #{result["isIndexing"]}")
+ end
end
diff --git a/lib/pleroma/search/meilisearch.ex b/lib/pleroma/search/meilisearch.ex
index 8745d539d..1ad17bf9f 100644
--- a/lib/pleroma/search/meilisearch.ex
+++ b/lib/pleroma/search/meilisearch.ex
@@ -13,6 +13,18 @@ defmodule Pleroma.Search.Meilisearch do
if is_nil(private_key), do: [], else: [{"X-Meili-API-Key", private_key}]
end
+ def meili_get!(path) do
+ endpoint = Pleroma.Config.get([Pleroma.Search.Meilisearch, :url])
+
+ {:ok, result} =
+ Pleroma.HTTP.get(
+ Path.join(endpoint, path),
+ meili_headers()
+ )
+
+ Jason.decode!(result.body)
+ end
+
def meili_post!(path, params) do
endpoint = Pleroma.Config.get([Pleroma.Search.Meilisearch, :url])