From 261fafc57bfd9715cf2904153cd84054b3a67270 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Wed, 29 Sep 2021 19:22:59 +0300 Subject: [PATCH] dependency bump and cleanup --- .../search-service-server-v1/pom.xml | 2 +- .../service/search/v1/server/Application.java | 12 ++-- .../v1/server/client/ElasticsearchClient.java | 19 +++---- .../v1/server/client/FileStatusClient.java | 3 +- .../FileStatusProcessingUpdateClient.java | 3 +- .../server/controller/SearchController.java | 6 +- .../search/v1/server/model/IndexDocument.java | 8 +-- .../search/v1/server/model/IndexSection.java | 8 +-- .../service/search/v1/server/model/Query.java | 6 +- .../search/v1/server/model/SectionText.java | 6 +- .../service/search/v1/server/model/Text.java | 6 +- .../server/queue/IndexingMessageReceiver.java | 18 ++---- .../server/queue/MessagingConfiguration.java | 4 +- .../server/service/DocumentDeleteService.java | 16 +++--- .../server/service/DocumentIndexService.java | 28 ++++------ .../server/service/IndexCreatorService.java | 16 +++--- .../v1/server/service/SearchService.java | 56 +++++++++---------- .../v1/server/service/TextStorageService.java | 10 ++-- .../settings/ElasticsearchSettings.java | 7 +-- .../FailfastElasticSearchHealthIndicator.java | 8 +-- .../v1/server/utils/QueryStringConverter.java | 7 +-- .../v1/server/utils/ResourceLoader.java | 6 +- 22 files changed, 104 insertions(+), 151 deletions(-) diff --git a/search-service-v1/search-service-server-v1/pom.xml b/search-service-v1/search-service-server-v1/pom.xml index b77f19b..dc970b3 100644 --- a/search-service-v1/search-service-server-v1/pom.xml +++ b/search-service-v1/search-service-server-v1/pom.xml @@ -24,7 +24,7 @@ com.iqser.red.service persistence-service-api-v1 - 0.18.0 + 0.22.0 diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/Application.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/Application.java index 34a534e..d567c42 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/Application.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/Application.java @@ -1,5 +1,9 @@ package com.iqser.red.service.search.v1.server; +import com.iqser.red.commons.spring.DefaultWebMvcConfiguration; +import com.iqser.red.service.search.v1.server.client.ElasticsearchClient; +import com.iqser.red.service.search.v1.server.client.FileStatusClient; +import com.iqser.red.service.search.v1.server.settings.ElasticsearchSettings; import org.springframework.boot.SpringApplication; import org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -10,12 +14,6 @@ import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Import; -import com.iqser.red.commons.spring.DefaultWebMvcConfiguration; -import com.iqser.red.service.search.v1.server.client.ElasticsearchClient; -import com.iqser.red.service.search.v1.server.client.FileStatusClient; -import com.iqser.red.service.search.v1.server.settings.ElasticsearchSettings; -import com.iqser.red.service.search.v1.server.utils.FailfastElasticSearchHealthIndicator; - @Import({DefaultWebMvcConfiguration.class}) @EnableFeignClients(basePackageClasses = FileStatusClient.class) @EnableConfigurationProperties(ElasticsearchSettings.class) @@ -34,5 +32,5 @@ public class Application { return new ElasticsearchClient(elasticsearchSettings); } - + } diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/client/ElasticsearchClient.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/client/ElasticsearchClient.java index d57d596..08693ab 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/client/ElasticsearchClient.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/client/ElasticsearchClient.java @@ -1,11 +1,9 @@ package com.iqser.red.service.search.v1.server.client; -import java.io.IOException; -import java.util.stream.Collectors; - -import javax.annotation.PostConstruct; -import javax.annotation.PreDestroy; - +import com.iqser.red.service.search.v1.server.settings.ElasticsearchSettings; +import lombok.RequiredArgsConstructor; +import lombok.experimental.Delegate; +import lombok.extern.slf4j.Slf4j; import org.apache.http.HttpHost; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; @@ -16,11 +14,10 @@ import org.elasticsearch.client.RestClientBuilder; import org.elasticsearch.client.RestHighLevelClient; import org.springframework.stereotype.Service; -import com.iqser.red.service.search.v1.server.settings.ElasticsearchSettings; - -import lombok.RequiredArgsConstructor; -import lombok.experimental.Delegate; -import lombok.extern.slf4j.Slf4j; +import javax.annotation.PostConstruct; +import javax.annotation.PreDestroy; +import java.io.IOException; +import java.util.stream.Collectors; @Slf4j @Service diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/client/FileStatusClient.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/client/FileStatusClient.java index 4c800ac..a33b1a3 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/client/FileStatusClient.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/client/FileStatusClient.java @@ -1,8 +1,7 @@ package com.iqser.red.service.search.v1.server.client; -import org.springframework.cloud.openfeign.FeignClient; - import com.iqser.red.service.persistence.service.v1.api.resources.StatusResource; +import org.springframework.cloud.openfeign.FeignClient; @FeignClient(name = "StatusResource", url = "${persistence-service.url}") public interface FileStatusClient extends StatusResource { diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/client/FileStatusProcessingUpdateClient.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/client/FileStatusProcessingUpdateClient.java index 2b2ed2b..4d6a462 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/client/FileStatusProcessingUpdateClient.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/client/FileStatusProcessingUpdateClient.java @@ -1,8 +1,7 @@ package com.iqser.red.service.search.v1.server.client; -import org.springframework.cloud.openfeign.FeignClient; - import com.iqser.red.service.persistence.service.v1.api.resources.FileStatusProcessingUpdateResource; +import org.springframework.cloud.openfeign.FeignClient; @FeignClient(name = "FileStatusProcessingUpdateResource", url = "${persistence-service.url}") public interface FileStatusProcessingUpdateClient extends FileStatusProcessingUpdateResource { diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/controller/SearchController.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/controller/SearchController.java index 05f5a76..4b7283e 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/controller/SearchController.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/controller/SearchController.java @@ -1,14 +1,12 @@ package com.iqser.red.service.search.v1.server.controller; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; - import com.iqser.red.service.search.v1.model.SearchRequest; import com.iqser.red.service.search.v1.model.SearchResult; import com.iqser.red.service.search.v1.resources.SearchResource; import com.iqser.red.service.search.v1.server.service.SearchService; - import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; @RestController @RequiredArgsConstructor diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/IndexDocument.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/IndexDocument.java index 51f0800..c3f3e6a 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/IndexDocument.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/IndexDocument.java @@ -1,16 +1,12 @@ package com.iqser.red.service.search.v1.server.model; +import lombok.*; + import java.io.Serializable; import java.time.OffsetDateTime; import java.util.ArrayList; import java.util.List; -import lombok.AccessLevel; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - @Data @Builder @NoArgsConstructor(access = AccessLevel.PRIVATE) diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/IndexSection.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/IndexSection.java index 51d5aa5..b3124d7 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/IndexSection.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/IndexSection.java @@ -1,14 +1,10 @@ package com.iqser.red.service.search.v1.server.model; +import lombok.*; + import java.io.Serializable; import java.util.Set; -import lombok.AccessLevel; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - @Data @Builder @NoArgsConstructor(access = AccessLevel.PRIVATE) diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/Query.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/Query.java index 4f037d0..3637629 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/Query.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/Query.java @@ -1,13 +1,13 @@ package com.iqser.red.service.search.v1.server.model; -import java.util.ArrayList; -import java.util.List; - import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.ArrayList; +import java.util.List; + @Data @Builder @NoArgsConstructor diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/SectionText.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/SectionText.java index 1e51f63..390bd22 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/SectionText.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/SectionText.java @@ -1,13 +1,13 @@ package com.iqser.red.service.search.v1.server.model; -import java.util.ArrayList; -import java.util.List; - import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.ArrayList; +import java.util.List; + @Data @Builder @NoArgsConstructor diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/Text.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/Text.java index 82de6fd..2fb76ac 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/Text.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/model/Text.java @@ -1,12 +1,12 @@ package com.iqser.red.service.search.v1.server.model; -import java.util.ArrayList; -import java.util.List; - import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.ArrayList; +import java.util.List; + @Data @NoArgsConstructor @AllArgsConstructor diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/queue/IndexingMessageReceiver.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/queue/IndexingMessageReceiver.java index 5d3f5ea..80631da 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/queue/IndexingMessageReceiver.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/queue/IndexingMessageReceiver.java @@ -1,14 +1,5 @@ package com.iqser.red.service.search.v1.server.queue; -import static com.iqser.red.service.search.v1.server.queue.MessagingConfiguration.DELETE_FROM_INDEX_DLQ; -import static com.iqser.red.service.search.v1.server.queue.MessagingConfiguration.DELETE_FROM_INDEX_QUEUE; -import static com.iqser.red.service.search.v1.server.queue.MessagingConfiguration.INDEXING_DQL; -import static com.iqser.red.service.search.v1.server.queue.MessagingConfiguration.INDEXING_QUEUE; - -import org.springframework.amqp.rabbit.annotation.RabbitHandler; -import org.springframework.amqp.rabbit.annotation.RabbitListener; -import org.springframework.stereotype.Service; - import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.iqser.red.service.search.v1.model.IndexMessage; @@ -18,9 +9,13 @@ import com.iqser.red.service.search.v1.server.model.Text; import com.iqser.red.service.search.v1.server.service.DocumentDeleteService; import com.iqser.red.service.search.v1.server.service.DocumentIndexService; import com.iqser.red.service.search.v1.server.service.TextStorageService; - import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.rabbit.annotation.RabbitHandler; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.stereotype.Service; + +import static com.iqser.red.service.search.v1.server.queue.MessagingConfiguration.*; @Slf4j @Service @@ -44,7 +39,7 @@ public class IndexingMessageReceiver { fileStatusProcessingUpdateClient.indexing(indexRequest.getDossierId(), indexRequest.getFileId()); var fileStatus = fileStatusClient.getFileStatus(indexRequest.getDossierId(), indexRequest.getFileId()); Text text = textStorageService.getText(indexRequest.getDossierId(), indexRequest.getFileId()); - documentIndexService.indexDocument( indexRequest.getDossierTemplateId(),indexRequest.getDossierId(), indexRequest.getFileId(), fileStatus.getFilename(), text); + documentIndexService.indexDocument(indexRequest.getDossierTemplateId(), indexRequest.getDossierId(), indexRequest.getFileId(), fileStatus.getFilename(), text); fileStatusProcessingUpdateClient.indexingSuccessful(indexRequest.getDossierId(), indexRequest.getFileId()); log.info("Successfully indexed {}", indexRequest); @@ -83,5 +78,4 @@ public class IndexingMessageReceiver { } - } diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/queue/MessagingConfiguration.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/queue/MessagingConfiguration.java index a072327..909d3c8 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/queue/MessagingConfiguration.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/queue/MessagingConfiguration.java @@ -1,12 +1,11 @@ package com.iqser.red.service.search.v1.server.queue; +import lombok.RequiredArgsConstructor; import org.springframework.amqp.core.Queue; import org.springframework.amqp.core.QueueBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import lombok.RequiredArgsConstructor; - @Configuration @RequiredArgsConstructor public class MessagingConfiguration { @@ -36,7 +35,6 @@ public class MessagingConfiguration { } - @Bean public Queue deleteFromIndexQueue() { diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/DocumentDeleteService.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/DocumentDeleteService.java index 6993a67..4ae2eb0 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/DocumentDeleteService.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/DocumentDeleteService.java @@ -1,18 +1,16 @@ package com.iqser.red.service.search.v1.server.service; -import static com.iqser.red.service.search.v1.server.service.IndexCreatorService.INDEX_NAME; - -import java.io.IOException; - -import org.elasticsearch.action.delete.DeleteRequest; -import org.elasticsearch.client.RequestOptions; -import org.springframework.stereotype.Service; - import com.iqser.red.service.search.v1.server.client.ElasticsearchClient; import com.iqser.red.service.search.v1.server.exception.IndexException; import com.iqser.red.service.search.v1.server.settings.ElasticsearchSettings; - import lombok.RequiredArgsConstructor; +import org.elasticsearch.action.delete.DeleteRequest; +import org.elasticsearch.client.RequestOptions; +import org.springframework.stereotype.Service; + +import java.io.IOException; + +import static com.iqser.red.service.search.v1.server.service.IndexCreatorService.INDEX_NAME; @Service @RequiredArgsConstructor diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/DocumentIndexService.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/DocumentIndexService.java index c048ce6..58a8824 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/DocumentIndexService.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/DocumentIndexService.java @@ -1,29 +1,23 @@ package com.iqser.red.service.search.v1.server.service; -import static com.iqser.red.service.search.v1.server.service.IndexCreatorService.INDEX_NAME; - -import java.io.IOException; -import java.time.OffsetDateTime; -import java.util.stream.Collectors; - -import org.elasticsearch.action.index.IndexRequest; -import org.elasticsearch.client.RequestOptions; -import org.elasticsearch.common.xcontent.XContentType; -import org.springframework.stereotype.Service; - import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.iqser.red.service.search.v1.server.client.ElasticsearchClient; import com.iqser.red.service.search.v1.server.exception.IndexException; -import com.iqser.red.service.search.v1.server.model.IndexDocument; -import com.iqser.red.service.search.v1.server.model.IndexSection; -import com.iqser.red.service.search.v1.server.model.SectionArea; -import com.iqser.red.service.search.v1.server.model.SectionText; -import com.iqser.red.service.search.v1.server.model.Text; +import com.iqser.red.service.search.v1.server.model.*; import com.iqser.red.service.search.v1.server.settings.ElasticsearchSettings; - import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.elasticsearch.action.index.IndexRequest; +import org.elasticsearch.client.RequestOptions; +import org.elasticsearch.common.xcontent.XContentType; +import org.springframework.stereotype.Service; + +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.stream.Collectors; + +import static com.iqser.red.service.search.v1.server.service.IndexCreatorService.INDEX_NAME; @Slf4j @Service diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/IndexCreatorService.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/IndexCreatorService.java index 17431ba..c144151 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/IndexCreatorService.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/IndexCreatorService.java @@ -1,9 +1,10 @@ package com.iqser.red.service.search.v1.server.service; -import static com.iqser.red.service.search.v1.server.exception.IndexException.INDEX_EXISTS_ERROR; - -import java.io.IOException; - +import com.iqser.red.service.search.v1.server.client.ElasticsearchClient; +import com.iqser.red.service.search.v1.server.exception.IndexException; +import com.iqser.red.service.search.v1.server.settings.ElasticsearchSettings; +import com.iqser.red.service.search.v1.server.utils.ResourceLoader; +import lombok.extern.slf4j.Slf4j; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.indices.CreateIndexRequest; import org.elasticsearch.client.indices.CreateIndexResponse; @@ -12,12 +13,9 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.xcontent.XContentType; import org.springframework.stereotype.Service; -import com.iqser.red.service.search.v1.server.client.ElasticsearchClient; -import com.iqser.red.service.search.v1.server.exception.IndexException; -import com.iqser.red.service.search.v1.server.settings.ElasticsearchSettings; -import com.iqser.red.service.search.v1.server.utils.ResourceLoader; +import java.io.IOException; -import lombok.extern.slf4j.Slf4j; +import static com.iqser.red.service.search.v1.server.exception.IndexException.INDEX_EXISTS_ERROR; @Slf4j @Service diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/SearchService.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/SearchService.java index 52d3487..a6db104 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/SearchService.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/SearchService.java @@ -1,30 +1,5 @@ package com.iqser.red.service.search.v1.server.service; -import static com.iqser.red.service.search.v1.server.exception.IndexException.FAILED_TO_SEARCH; -import static com.iqser.red.service.search.v1.server.service.IndexCreatorService.INDEX_NAME; - -import java.io.IOException; -import java.util.*; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -import org.apache.lucene.search.join.ScoreMode; -import org.elasticsearch.action.search.SearchRequest; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.client.RequestOptions; -import org.elasticsearch.common.text.Text; -import org.elasticsearch.index.query.BoolQueryBuilder; -import org.elasticsearch.index.query.InnerHitBuilder; -import org.elasticsearch.index.query.NestedQueryBuilder; -import org.elasticsearch.index.query.QueryBuilder; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; -import org.elasticsearch.search.builder.SearchSourceBuilder; -import org.elasticsearch.search.fetch.subphase.FetchSourceContext; -import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder; -import org.springframework.stereotype.Service; - import com.iqser.red.service.search.v1.model.MatchedDocument; import com.iqser.red.service.search.v1.model.MatchedSection; import com.iqser.red.service.search.v1.model.SearchResult; @@ -32,9 +7,28 @@ import com.iqser.red.service.search.v1.server.client.ElasticsearchClient; import com.iqser.red.service.search.v1.server.exception.IndexException; import com.iqser.red.service.search.v1.server.model.Query; import com.iqser.red.service.search.v1.server.utils.QueryStringConverter; - import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.lucene.search.join.ScoreMode; +import org.elasticsearch.action.search.SearchRequest; +import org.elasticsearch.action.search.SearchResponse; +import org.elasticsearch.client.RequestOptions; +import org.elasticsearch.common.text.Text; +import org.elasticsearch.index.query.*; +import org.elasticsearch.search.SearchHit; +import org.elasticsearch.search.SearchHits; +import org.elasticsearch.search.builder.SearchSourceBuilder; +import org.elasticsearch.search.fetch.subphase.FetchSourceContext; +import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder; +import org.springframework.stereotype.Service; + +import java.io.IOException; +import java.util.*; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import static com.iqser.red.service.search.v1.server.exception.IndexException.FAILED_TO_SEARCH; +import static com.iqser.red.service.search.v1.server.service.IndexCreatorService.INDEX_NAME; @Slf4j @Service @@ -44,12 +38,12 @@ public class SearchService { private final ElasticsearchClient client; - public SearchResult search(String queryString, List dossierTemplateIds, List dossierIds, String fileId, int page, int pageSize, + public SearchResult search(String queryString, List dossierTemplateIds, List dossierIds, String fileId, int page, int pageSize, boolean returnSections) { Query query = QueryStringConverter.convert(queryString); - SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder().query(convertQuery(query, dossierTemplateIds,dossierIds , fileId, returnSections)) + SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder().query(convertQuery(query, dossierTemplateIds, dossierIds, fileId, returnSections)) .from((page - 1) * pageSize) .size(pageSize) .fetchSource(new String[]{"dossierId", "fileId"}, new String[]{"sections"}) @@ -177,9 +171,9 @@ public class SearchService { SearchHits sectionHits = hit.getInnerHits().get("sections"); matchedDocumentBuilder.matchedSections(Arrays.stream(sectionHits.getHits()) - .map(innerHit -> convertInnerHit(innerHit)) - .collect(Collectors.toList())) - .containsAllMatchedSections(sectionHits.getTotalHits().value == sectionHits.getHits().length ? true : false); + .map(innerHit -> convertInnerHit(innerHit)) + .collect(Collectors.toList())) + .containsAllMatchedSections(sectionHits.getTotalHits().value == sectionHits.getHits().length); } return matchedDocumentBuilder.build(); diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/TextStorageService.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/TextStorageService.java index afd3661..7993766 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/TextStorageService.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/TextStorageService.java @@ -1,18 +1,16 @@ package com.iqser.red.service.search.v1.server.service; -import java.io.IOException; - -import org.springframework.core.io.InputStreamResource; -import org.springframework.stereotype.Service; - import com.fasterxml.jackson.databind.ObjectMapper; import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType; import com.iqser.red.service.search.v1.server.model.Text; import com.iqser.red.storage.commons.exception.StorageObjectDoesNotExist; import com.iqser.red.storage.commons.service.StorageService; - import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.core.io.InputStreamResource; +import org.springframework.stereotype.Service; + +import java.io.IOException; @Slf4j @Service diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/settings/ElasticsearchSettings.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/settings/ElasticsearchSettings.java index 0d27c66..b42ef2f 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/settings/ElasticsearchSettings.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/settings/ElasticsearchSettings.java @@ -1,14 +1,13 @@ package com.iqser.red.service.search.v1.server.settings; -import java.util.ArrayList; -import java.util.List; - +import lombok.Data; import org.elasticsearch.action.support.WriteRequest; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; -import lombok.Data; +import java.util.ArrayList; +import java.util.List; @Data @Primary diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/utils/FailfastElasticSearchHealthIndicator.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/utils/FailfastElasticSearchHealthIndicator.java index fc5a8f2..4516242 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/utils/FailfastElasticSearchHealthIndicator.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/utils/FailfastElasticSearchHealthIndicator.java @@ -1,15 +1,13 @@ package com.iqser.red.service.search.v1.server.utils; +import com.iqser.red.service.search.v1.server.client.ElasticsearchClient; +import lombok.extern.slf4j.Slf4j; import org.elasticsearch.ElasticsearchException; import org.springframework.boot.actuate.elasticsearch.ElasticsearchRestHealthIndicator; import org.springframework.boot.actuate.health.Health; import org.springframework.boot.actuate.health.Status; import org.springframework.stereotype.Component; -import com.iqser.red.service.search.v1.server.client.ElasticsearchClient; - -import lombok.extern.slf4j.Slf4j; - @Slf4j @Component public class FailfastElasticSearchHealthIndicator extends ElasticsearchRestHealthIndicator { @@ -38,4 +36,4 @@ public class FailfastElasticSearchHealthIndicator extends ElasticsearchRestHealt } } -} \ No newline at end of file +} diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/utils/QueryStringConverter.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/utils/QueryStringConverter.java index cc70b6a..10c8cd2 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/utils/QueryStringConverter.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/utils/QueryStringConverter.java @@ -1,12 +1,11 @@ package com.iqser.red.service.search.v1.server.utils; +import com.iqser.red.service.search.v1.server.model.Query; +import lombok.experimental.UtilityClass; + import java.util.ArrayList; import java.util.List; -import com.iqser.red.service.search.v1.server.model.Query; - -import lombok.experimental.UtilityClass; - @UtilityClass public class QueryStringConverter { diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/utils/ResourceLoader.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/utils/ResourceLoader.java index abd233f..231c711 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/utils/ResourceLoader.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/utils/ResourceLoader.java @@ -1,5 +1,7 @@ package com.iqser.red.service.search.v1.server.utils; +import lombok.experimental.UtilityClass; + import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; @@ -8,8 +10,6 @@ import java.net.URL; import java.nio.charset.StandardCharsets; import java.util.stream.Collectors; -import lombok.experimental.UtilityClass; - @UtilityClass public class ResourceLoader { @@ -23,7 +23,7 @@ public class ResourceLoader { InputStreamReader isr = new InputStreamReader(is, StandardCharsets.UTF_8); BufferedReader br = new BufferedReader(isr)) { return br.lines().collect(Collectors.joining("\n")); - } catch (IOException e){ + } catch (IOException e) { throw new IllegalArgumentException("could not load classpath resource: " + classpathPath, e); } }