import Ecto.Query
import Pleroma.Search.Meilisearch,
- only: [meili_post: 2, meili_put: 2, meili_get: 1, meili_delete!: 1]
+ only: [meili_put: 2, meili_get: 1, meili_delete!: 1]
def run(["index"]) do
start_pleroma()
)
# The ranking rule syntax was changed but nothing about that is mentioned in the changelog
- if not Version.match?(meili_version, ">= 0.24.0") do
+ if not Version.match?(meili_version, ">= 0.25.0") do
raise "Meilisearch <0.24.0 not supported"
end
{:ok, _} =
- meili_post(
+ meili_put(
"/indexes/objects/settings/ranking-rules",
[
"published:desc",
)
{:ok, _} =
- meili_post(
+ meili_put(
"/indexes/objects/settings/searchable-attributes",
[
"content"
)
with {:ok, res} <- result do
- if not Map.has_key?(res, "updateId") do
+ if not Map.has_key?(res, "indexUid") do
IO.puts("\nFailed to index: #{inspect(result)}")
end
else
meili_delete!("/indexes/objects/documents")
end
- def run(["show-private-key", master_key]) do
+ def run(["show-keys", master_key]) do
start_pleroma()
endpoint = Pleroma.Config.get([Pleroma.Search.Meilisearch, :url])
{:ok, result} =
Pleroma.HTTP.get(
Path.join(endpoint, "/keys"),
- [{"X-Meili-API-Key", master_key}]
+ [{"Authorization", "Bearer #{master_key}"}]
)
decoded = Jason.decode!(result.body)
- if decoded["private"] do
- IO.puts(decoded["private"])
+ if decoded["results"] do
+ Enum.each(decoded["results"], fn %{"description" => desc, "key" => key} ->
+ IO.puts("#{desc}: #{key}")
+ end)
else
- IO.puts("Error fetching the key, check the master key is correct: #{inspect(decoded)}")
+ IO.puts("Error fetching the keys, check the master key is correct: #{inspect(decoded)}")
end
end