Browse Source

自助检索修改

xiaoqiao 1 year ago
parent
commit
1ad3b283a8

File diff suppressed because it is too large
+ 598 - 540
lib/华北油田Ai检索.pdb


+ 10 - 0
pom.xml

@@ -41,6 +41,11 @@
             <artifactId>jackson-datatype-jsr310</artifactId>
             <version>2.13.3</version>
         </dependency>
+        <dependency>
+            <groupId>jakarta.json</groupId>
+            <artifactId>jakarta.json-api</artifactId>
+            <version>2.0.1</version>
+        </dependency>
         <dependency>
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
@@ -161,6 +166,11 @@
             <artifactId>aspectjrt</artifactId>
             <version>${aspectj.version}</version>
         </dependency>
+        <dependency>
+            <groupId>co.elastic.clients</groupId>
+            <artifactId>elasticsearch-java</artifactId>
+            <version>8.11.1</version>
+        </dependency>
     </dependencies>
 
     <build>

+ 0 - 3
src/main/java/com/bowintek/practice/config/CorsConfig.java

@@ -14,7 +14,6 @@ public class CorsConfig implements WebMvcConfigurer {
     @Autowired
     private PageNoCacheInterceptor pageNoCacheInterceptor;
 
-
     @Override
     public void addInterceptors(InterceptorRegistry registry) {
         registry.addInterceptor(pageNoCacheInterceptor)
@@ -25,7 +24,6 @@ public class CorsConfig implements WebMvcConfigurer {
 
     }
 
-
     @Override
     public void addCorsMappings(CorsRegistry registry) {
 
@@ -35,5 +33,4 @@ public class CorsConfig implements WebMvcConfigurer {
                 .allowedMethods("GET", "POST")
                 .maxAge(3600);
     }
-
 }

+ 38 - 0
src/main/java/com/bowintek/practice/config/ElasticsearchConfig.java

@@ -0,0 +1,38 @@
+package com.bowintek.practice.config;
+
+import co.elastic.clients.elasticsearch.ElasticsearchClient;
+import co.elastic.clients.json.jackson.JacksonJsonpMapper;
+import co.elastic.clients.transport.ElasticsearchTransport;
+import co.elastic.clients.transport.rest_client.RestClientTransport;
+import co.elastic.clients.util.ContentType;
+import org.apache.http.HttpHeaders;
+import org.apache.http.HttpHost;
+import org.apache.http.HttpResponseInterceptor;
+import org.apache.http.message.BasicHeader;
+import org.elasticsearch.client.RestClient;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Configuration
+public class ElasticsearchConfig {
+
+    @Resource
+    EsConfig config;
+
+    @Bean
+    public ElasticsearchClient esClient() {
+        RestClient restClient = RestClient.builder(new HttpHost(config.getHosts(),config.getPort()))
+                .setHttpClientConfigCallback(httpClientBuilder
+                        ->httpClientBuilder.setDefaultHeaders(
+                                List.of(new BasicHeader(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON.toString())))
+                        .addInterceptorLast((HttpResponseInterceptor) (response, context)
+                                -> response.addHeader("X-Elastic-Product", "Elasticsearch"))).build();
+        ElasticsearchTransport transport = new RestClientTransport(
+                restClient, new JacksonJsonpMapper());
+        ElasticsearchClient client = new ElasticsearchClient(transport);
+        return client;
+    }
+}

+ 23 - 0
src/main/java/com/bowintek/practice/config/EsConfig.java

@@ -0,0 +1,23 @@
+package com.bowintek.practice.config;
+
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+@ConfigurationProperties(prefix = "elasticsearch", ignoreInvalidFields = true)
+@Getter
+@Setter
+@Component
+public class EsConfig {
+
+    private String hosts;
+    private int port;
+    private String schema;
+    private int connectTimeOut;
+    private int socketTimeOut;
+    private int connectionRequestTimeOut;
+    private int maxConnectNum;
+    private int maxConnectPerRoute;
+    private String preStr;
+}

+ 4 - 0
src/main/java/com/bowintek/practice/controller/SubjectController.java

@@ -1,5 +1,6 @@
 package com.bowintek.practice.controller;
 
+import co.elastic.clients.elasticsearch.ElasticsearchClient;
 import com.alibaba.fastjson.JSONObject;
 import com.bowintek.practice.filter.exception.BaseErrorEnum;
 import com.bowintek.practice.filter.exception.BaseResponse;
@@ -41,6 +42,9 @@ public class SubjectController {
     @Autowired
     private StringUtils stringUtils;
 
+    @Autowired
+    private ElasticsearchClient esClient;
+
     @ResponseBody
     @GetMapping("/getList")
     public BaseResponse<PageInfo<SubjectVo>> getList(@RequestParam("page") int page, @RequestParam("rows") int rows,

+ 11 - 0
src/main/resources/application.yml

@@ -86,6 +86,17 @@ spring:
       date: yyyy-MM-dd
       date-time: yyyy-MM-dd HH:mm:ss
 
+elasticsearch:
+  hosts: 192.168.0.68
+  port: 9200
+  schema: http
+  connectTimeOut: 1000
+  socketTimeOut: 30000
+  connectionRequestTimeOut: 500
+  maxConnectNum: 100
+  maxConnectPerRoute: 100
+  preStr: es_
+
 logging:
   config: classpath:logback-spring.xml
 mybatis:

+ 11 - 0
target/classes/application.yml

@@ -86,6 +86,17 @@ spring:
       date: yyyy-MM-dd
       date-time: yyyy-MM-dd HH:mm:ss
 
+elasticsearch:
+  hosts: 192.168.0.68
+  port: 9200
+  schema: http
+  connectTimeOut: 1000
+  socketTimeOut: 30000
+  connectionRequestTimeOut: 500
+  maxConnectNum: 100
+  maxConnectPerRoute: 100
+  preStr: es_
+
 logging:
   config: classpath:logback-spring.xml
 mybatis:

BIN
target/classes/com/bowintek/practice/config/CorsConfig.class