@@ -95,16 +95,18 @@ defmodule Canary.Sources.Document.Create do
95
95
96
96
defp transform_fetcher_result ( % GithubIssue.FetcherResult { } = data ) do
97
97
local_chunks =
98
- data . items
98
+ [ data . root | data . items ]
99
99
|> Enum . map ( fn _ -> % Chunk { index_id: Ecto.UUID . generate ( ) } end )
100
100
101
101
remote_chunks =
102
- data . items
103
- |> Enum . map ( fn item ->
102
+ [ data . root | data . items ]
103
+ |> Enum . with_index ( 0 )
104
+ |> Enum . map ( fn { item , index } ->
104
105
% {
105
106
content: item . content ,
106
107
url: data . root . url ,
107
- title: data . root . title <> "\n " <> data . root . content ,
108
+ title:
109
+ if ( index == 0 , do: item . title , else: data . root . title <> "\n " <> data . root . content ) ,
108
110
created_at: item . created_at ,
109
111
weight: clamp ( 1 , 5 , item . num_reactions ) ,
110
112
meta: % { }
@@ -136,16 +138,18 @@ defmodule Canary.Sources.Document.Create do
136
138
137
139
defp transform_fetcher_result ( % GithubDiscussion.FetcherResult { } = data ) do
138
140
local_chunks =
139
- data . items
141
+ [ data . root | data . items ]
140
142
|> Enum . map ( fn _ -> % Chunk { index_id: Ecto.UUID . generate ( ) } end )
141
143
142
144
remote_chunks =
143
- data . items
144
- |> Enum . map ( fn item ->
145
+ [ data . root | data . items ]
146
+ |> Enum . with_index ( 0 )
147
+ |> Enum . map ( fn { item , index } ->
145
148
% {
146
149
url: item . url ,
147
150
content: item . content ,
148
- title: data . root . title <> "\n " <> data . root . content ,
151
+ title:
152
+ if ( index == 0 , do: item . title , else: data . root . title <> "\n " <> data . root . content ) ,
149
153
created_at: item . created_at ,
150
154
weight: clamp ( 1 , 5 , item . num_reactions ) ,
151
155
meta: % { }
@@ -177,6 +181,8 @@ defmodule Canary.Sources.Document.Create do
177
181
end
178
182
179
183
@ impl true
184
+ def after_batch ( [ ] , _opts , _context ) , do: [ ]
185
+
180
186
def after_batch ( changesets_and_results , opts , _context ) do
181
187
with :ok = create_groups ( changesets_and_results , opts ) ,
182
188
:ok = create_chunks ( changesets_and_results , opts ) do
0 commit comments