projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge remote-tracking branch 'origin/feature/elasticsearch' into develop
[akkoma]
/
lib
/
pleroma
/
elasticsearch
/
store.ex
diff --git
a/lib/pleroma/elasticsearch/store.ex
b/lib/pleroma/elasticsearch/store.ex
index aa5e2b1040689e29944ac93255d0080cf1ba9d3e..7f6ef37a927ad46dcbbbe4e36761c5b66e1b0e54 100644
(file)
--- a/
lib/pleroma/elasticsearch/store.ex
+++ b/
lib/pleroma/elasticsearch/store.ex
@@
-1,6
+1,7
@@
defmodule Pleroma.Elasticsearch do
alias Pleroma.Activity
alias Pleroma.User
defmodule Pleroma.Elasticsearch do
alias Pleroma.Activity
alias Pleroma.User
+ alias Pleroma.Object
alias Pleroma.Elasticsearch.DocumentMappings
alias Pleroma.Config
require Logger
alias Pleroma.Elasticsearch.DocumentMappings
alias Pleroma.Config
require Logger
@@
-45,6
+46,12
@@
defmodule Pleroma.Elasticsearch do
{:ok, :skipped}
end
{:ok, :skipped}
end
+ def maybe_bulk_post(data, type) do
+ if enabled?() do
+ bulk_post(data, type)
+ end
+ end
+
def put(%Activity{} = activity) do
{:ok, _} =
Elastix.Document.index(
def put(%Activity{} = activity) do
{:ok, _} =
Elastix.Document.index(
@@
-54,6
+61,12
@@
defmodule Pleroma.Elasticsearch do
DocumentMappings.Activity.id(activity),
DocumentMappings.Activity.encode(activity)
)
DocumentMappings.Activity.id(activity),
DocumentMappings.Activity.encode(activity)
)
+
+ activity
+ |> Map.get(:object)
+ |> Object.hashtags()
+ |> Enum.map(fn x -> %{id: x, name: x, timestamp: DateTime.to_iso8601(DateTime.utc_now())} end)
+ |> bulk_post(:hashtags)
end
def put(%User{} = user) do
end
def put(%User{} = user) do
@@
-95,11
+108,6
@@
defmodule Pleroma.Elasticsearch do
)
end
)
end
- def maybe_bulk_post(data, type) do
- if enabled?() do
- bulk_post(data, type)
- end
- end
def bulk_post(data, :users) do
d =
def bulk_post(data, :users) do
d =
@@
-121,7
+129,7
@@
defmodule Pleroma.Elasticsearch do
)
end
)
end
- def bulk_post(
[] = data, :hashtags
) do
+ def bulk_post(
data, :hashtags) when is_list(data
) do
d =
data
|> Enum.map(fn d ->
d =
data
|> Enum.map(fn d ->