From 7ae1c817ad523070b56b22567d31694db88655e2 Mon Sep 17 00:00:00 2001 From: vladp Date: Sun, 22 Feb 2026 00:42:13 +0700 Subject: [PATCH] dev comment google search --- .../handler/ImageFoundRequestHandler.java | 26 +++++++++---------- .../service/search/SearchImageService.java | 3 ++- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/main/java/ru/soune/nocopy/handler/ImageFoundRequestHandler.java b/src/main/java/ru/soune/nocopy/handler/ImageFoundRequestHandler.java index 50fd35e..1e12bed 100644 --- a/src/main/java/ru/soune/nocopy/handler/ImageFoundRequestHandler.java +++ b/src/main/java/ru/soune/nocopy/handler/ImageFoundRequestHandler.java @@ -61,7 +61,7 @@ public class ImageFoundRequestHandler implements RequestHandler { //TODO отдавать любой полученный результат,даже если по таймауту падают String searchResponseYandex = null; -// String searchResponseGoogle = null; + String searchResponseGoogle = null; List allYandexImages = new ArrayList<>(); List allGoogleImages = new ArrayList<>(); List allUniqueImages; @@ -80,18 +80,18 @@ public class ImageFoundRequestHandler implements RequestHandler { log.error("Yandex search failed for file {}", fileId, e); } -// try { -// searchResponseGoogle = searchImageService.searchReverseByPublicUrl(fileEntity, "google_lens", -// "exact_matches"); -// log.info("searchResponseGoogle OK"); -// allGoogleImages = searchImageService.getAllImagesWithoutPagination( -// searchResponseGoogle, "exact_matches"); -// } catch (TimeoutException e) { -// log.warn("Google search timeout for file {}", fileId); -// hasTimeout = true; -// } catch (IOException e) { -// log.error("Google search failed for file {}", fileId, e); -// } + try { + searchResponseGoogle = searchImageService.searchReverseByPublicUrl(fileEntity, "google_lens", + "exact_matches"); + log.info("searchResponseGoogle OK"); + allGoogleImages = searchImageService.getAllImagesWithoutPagination( + searchResponseGoogle, "exact_matches"); + } catch (TimeoutException e) { + log.warn("Google search timeout for file {}", fileId); + hasTimeout = true; + } catch (IOException e) { + log.error("Google search failed for file {}", fileId, e); + } allUniqueImages = searchImageService.removeDuplicateUrls(allYandexImages, allGoogleImages); log.info("allUniqueImages OK: {} images", allUniqueImages.size()); diff --git a/src/main/java/ru/soune/nocopy/service/search/SearchImageService.java b/src/main/java/ru/soune/nocopy/service/search/SearchImageService.java index bfa4355..eafcc1e 100644 --- a/src/main/java/ru/soune/nocopy/service/search/SearchImageService.java +++ b/src/main/java/ru/soune/nocopy/service/search/SearchImageService.java @@ -39,6 +39,7 @@ public class SearchImageService { .followRedirects(true) .followSslRedirects(true) .retryOnConnectionFailure(true) + .connectionPool(new ConnectionPool(0, 1, TimeUnit.NANOSECONDS)) .build(); this.objectMapper = new ObjectMapper(); @@ -149,7 +150,7 @@ public class SearchImageService { } try { - Thread.sleep(500L * attempt); // 500ms, 1000ms, 1500ms + Thread.sleep(500L * attempt); } catch (InterruptedException ie) { Thread.currentThread().interrupt(); throw new IOException("Retry interrupted", ie);