@@ -167,23 +167,20 @@ defmodule Hexdocs.Queue do
167167 end
168168
169169 defp process_search ( key , package , version , body , start ) do
170- case Version . parse ( version ) do
171- { :ok , version } ->
172- case Hexdocs.Tar . unpack ( body , package: package , version: version ) do
173- { :ok , files } ->
174- update_search_index ( key , package , version , files )
175-
176- elapsed = System . os_time ( :millisecond ) - start
177- Logger . info ( "FINISHED INDEXING DOCS #{ key } #{ elapsed } ms" )
170+ version =
171+ case Version . parse ( version ) do
172+ { :ok , version } -> version
173+ :error when package in @ special_package_names -> version
174+ end
178175
179- { :error , reason } ->
180- Logger . error ( "Failed unpack #{ package } #{ version } : #{ reason } " )
181- end
176+ case Hexdocs.Tar . unpack ( body , package: package , version: version ) do
177+ { :ok , files } ->
178+ update_search_index ( key , package , version , files )
179+ elapsed = System . os_time ( :millisecond ) - start
180+ Logger . info ( "FINISHED INDEXING DOCS #{ key } #{ elapsed } ms" )
182181
183- :error when package in @ special_package_names ->
184- # Skip for special packages, it's probably a tag push that's not valid semver
185- # and we don't need to index those
186- :ok
182+ { :error , reason } ->
183+ Logger . error ( "Failed unpack #{ package } #{ version } : #{ reason } " )
187184 end
188185 end
189186
@@ -342,6 +339,8 @@ defmodule Hexdocs.Queue do
342339 defp update_search_index ( key , package , version , files ) do
343340 case Hexdocs.Search . find_search_items ( package , version , files ) do
344341 { proglang , items } ->
342+ Logger . info ( "DELETING SEARCH INDEX #{ key } " )
343+ Hexdocs.Search . delete ( package , version )
345344 Logger . info ( "UPDATING SEARCH INDEX #{ key } " )
346345 Hexdocs.Search . index ( package , version , proglang , items )
347346 Logger . info ( "UPDATED SEARCH INDEX #{ key } " )
0 commit comments