This commit is contained in:
@@ -65,8 +65,10 @@ public class ImageFoundRequestHandler implements RequestHandler {
|
||||
String searchResponseYandex;
|
||||
String searchResponseGoogle;
|
||||
try {
|
||||
searchResponseYandex = searchImageService.searchReverseByPublicUrl(fileEntity, "yandex_reverse_image");
|
||||
searchResponseGoogle = searchImageService.searchReverseByPublicUrl(fileEntity, "google_lens");
|
||||
searchResponseYandex = searchImageService.searchReverseByPublicUrl(fileEntity, "yandex_reverse_image",
|
||||
"visual_matches");
|
||||
searchResponseGoogle = searchImageService.searchReverseByPublicUrl(fileEntity, "google_lens",
|
||||
"exact_matches");
|
||||
} catch (TimeoutException e) {
|
||||
log.warn("Search timeout for file {}, returning empty results", fileId);
|
||||
return new BaseResponse(request.getMsgId(), MessageCode.SUCCESS.getCode(),
|
||||
|
||||
@@ -58,7 +58,7 @@ public class SearchImageService {
|
||||
objectMapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
|
||||
}
|
||||
|
||||
public String searchReverseByPublicUrl(FileEntity fileEntity, String engine)
|
||||
public String searchReverseByPublicUrl(FileEntity fileEntity, String engine, String searchType)
|
||||
throws IOException, TimeoutException {
|
||||
|
||||
if (!isImageFile(fileEntity)) {
|
||||
@@ -78,7 +78,7 @@ public class SearchImageService {
|
||||
log.info("Searching reverse for image: {}", publicUrl);
|
||||
|
||||
try {
|
||||
return callReverseImageApiByUrl(publicUrl, engine);
|
||||
return callReverseImageApiByUrl(publicUrl, engine, searchType);
|
||||
} catch (SocketTimeoutException e) {
|
||||
log.error("Yandex search timeout after {}", fileEntity.getId());
|
||||
throw new TimeoutException("Search timeout");
|
||||
@@ -90,7 +90,7 @@ public class SearchImageService {
|
||||
return mimeType != null && mimeType.startsWith("image");
|
||||
}
|
||||
|
||||
private String callReverseImageApiByUrl(String imageUrl, String engine) throws IOException {
|
||||
private String callReverseImageApiByUrl(String imageUrl, String engine, String searchType) throws IOException {
|
||||
|
||||
if (searchApiKey == null || searchApiKey.isBlank()) {
|
||||
throw new IllegalStateException("SearchAPI key not configured");
|
||||
@@ -101,7 +101,8 @@ public class SearchImageService {
|
||||
.addQueryParameter("engine", engine)
|
||||
.addQueryParameter("api_key", searchApiKey)
|
||||
.addQueryParameter("url", imageUrl)
|
||||
.addQueryParameter("search_type", "visual_matches")
|
||||
// .addQueryParameter("search_type", "visual_matches")
|
||||
.addQueryParameter("search_type", searchType)
|
||||
.addQueryParameter("wait", "true")
|
||||
.build();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user