Add a reindex option
Signed-off-by: Ekaterina Vaartis <vaartis@kotobank.ch>
This commit is contained in:
parent
d99a2be351
commit
9e7d7ebd48
1 changed files with 16 additions and 1 deletions
|
@ -11,9 +11,11 @@ defmodule Mix.Tasks.Pleroma.Search.Meilisearch do
|
||||||
|
|
||||||
import Pleroma.Search.Meilisearch, only: [meili_post!: 2, meili_delete!: 1, meili_get!: 1]
|
import Pleroma.Search.Meilisearch, only: [meili_post!: 2, meili_delete!: 1, meili_get!: 1]
|
||||||
|
|
||||||
def run(["index"]) do
|
def run(["index" | args]) do
|
||||||
start_pleroma()
|
start_pleroma()
|
||||||
|
|
||||||
|
is_reindex = "--reindex" in args
|
||||||
|
|
||||||
meili_post!(
|
meili_post!(
|
||||||
"/indexes/objects/settings/ranking-rules",
|
"/indexes/objects/settings/ranking-rules",
|
||||||
[
|
[
|
||||||
|
@ -68,6 +70,19 @@ defmodule Mix.Tasks.Pleroma.Search.Meilisearch do
|
||||||
{[objects], new_acc}
|
{[objects], new_acc}
|
||||||
end)
|
end)
|
||||||
|> Stream.each(fn objects ->
|
|> Stream.each(fn objects ->
|
||||||
|
objects =
|
||||||
|
objects
|
||||||
|
|> Enum.filter(fn o ->
|
||||||
|
if is_reindex do
|
||||||
|
result = meili_get!("/indexes/objects/documents/#{o.id}")
|
||||||
|
|
||||||
|
# Filter out the already indexed documents. This is true when the document does not exist
|
||||||
|
result["errorCode"] == "document_not_found"
|
||||||
|
else
|
||||||
|
true
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
result =
|
result =
|
||||||
meili_post!(
|
meili_post!(
|
||||||
"/indexes/objects/documents",
|
"/indexes/objects/documents",
|
||||||
|
|
Loading…
Reference in a new issue