make search provider configurable
[akkoma] / lib / pleroma / elasticsearch / store.ex
index 2ff4bf889eab3670a9c41d4bd95789f6d139383f..31f77fadf7a64eb760b975d7f999d864082a95d2 100644 (file)
@@ -8,29 +8,39 @@ defmodule Pleroma.Elasticsearch do
 
   def put(%Activity{} = activity) do
     Elastix.Document.index(
-        url(),
-        "activities",
-        "activity",
-        DocumentMappings.Activity.id(activity),
-        DocumentMappings.Activity.encode(activity)
+      url(),
+      "activities",
+      "activity",
+      DocumentMappings.Activity.id(activity),
+      DocumentMappings.Activity.encode(activity)
     )
   end
 
   def bulk_post(data, :activities) do
-    d = data
-    |> Enum.map(fn d ->
+    d =
+      data
+      |> Enum.map(fn d ->
         [
-            %{index: %{_id: DocumentMappings.Activity.id(d)}},
-            DocumentMappings.Activity.encode(d)
+          %{index: %{_id: DocumentMappings.Activity.id(d)}},
+          DocumentMappings.Activity.encode(d)
         ]
-    end)
-    |> List.flatten()
+      end)
+      |> List.flatten()
 
-    IO.inspect Elastix.Bulk.post(
-        url(),
-        d,
-        index: "activities",
-        type: "activity"
+    Elastix.Bulk.post(
+      url(),
+      d,
+      index: "activities",
+      type: "activity"
+    )
+  end
+
+  def search_activities(q) do
+    Elastix.Search.search(
+      url(),
+      "activities",
+      ["activity"],
+      q
     )
   end
 end