You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
718 B
25 lines
718 B
3 years ago
|
defmodule Pleroma.Search do
|
||
|
def add_to_index(activity) do
|
||
|
search_module = Pleroma.Config.get([Pleroma.Search, :module])
|
||
|
|
||
|
ConcurrentLimiter.limit(Pleroma.Search, fn ->
|
||
|
Task.start(fn -> search_module.add_to_index(activity) end)
|
||
|
end)
|
||
|
end
|
||
|
|
||
|
def remove_from_index(object) do
|
||
|
# Also delete from search index
|
||
|
search_module = Pleroma.Config.get([Pleroma.Search, :module])
|
||
|
|
||
|
ConcurrentLimiter.limit(Pleroma.Search, fn ->
|
||
|
Task.start(fn -> search_module.remove_from_index(object) end)
|
||
|
end)
|
||
|
end
|
||
|
|
||
|
def search(query, options) do
|
||
|
search_module = Pleroma.Config.get([Pleroma.Search, :module], Pleroma.Activity)
|
||
|
|
||
|
search_module.search(options[:for_user], query, options)
|
||
|
end
|
||
|
end
|