Merge remote-tracking branch 'upstream/develop' into develop
[akkoma] / lib / pleroma / search / elasticsearch / activity_parser.ex
1 defmodule Pleroma.Search.Elasticsearch.Parsers.Activity do
2 defp to_es(term) when is_binary(term) do
3 %{
4 match: %{
5 content: %{
6 query: term,
7 operator: "AND"
8 }
9 }
10 }
11 end
12
13 defp to_es({:quoted, term}), do: to_es(term)
14
15 defp to_es({:filter, ["hashtag", query]}) do
16 %{
17 term: %{
18 hashtags: %{
19 value: query
20 }
21 }
22 }
23 end
24
25 defp to_es({:filter, [field, query]}) do
26 %{
27 term: %{
28 field => %{
29 value: query
30 }
31 }
32 }
33 end
34
35 def parse(q) do
36 Enum.map(q, &to_es/1)
37 end
38 end