From d29cce61fb3a38f9f57a64a2a20d276b0d1254bc Mon Sep 17 00:00:00 2001
From: feige <feige@qq.com>
Date: 星期六, 16 九月 2023 11:54:24 +0800
Subject: [PATCH] es的增加索引和查询已经写好了,可以直接调用了

---
 zhang-content/src/main/java/com/ruoyi/service/impl/esServiceImpl.java |   61 +++++++++++++++++++++++-------
 1 files changed, 47 insertions(+), 14 deletions(-)

diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/esServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/esServiceImpl.java
index ff2cbbd..e043f0b 100644
--- a/zhang-content/src/main/java/com/ruoyi/service/impl/esServiceImpl.java
+++ b/zhang-content/src/main/java/com/ruoyi/service/impl/esServiceImpl.java
@@ -4,35 +4,68 @@
 import com.ruoyi.mapper.EsRepository;
 import com.ruoyi.service.esService;
 
+import org.elasticsearch.index.query.BoolQueryBuilder;
+import org.elasticsearch.index.query.MultiMatchQueryBuilder;
+import org.elasticsearch.index.query.QueryBuilders;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
+import org.springframework.data.elasticsearch.core.SearchHits;
+import org.springframework.data.elasticsearch.core.query.NativeSearchQuery;
+import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
 
 @Service
 public class esServiceImpl implements esService {
     @Resource
     private EsRepository esRepository;
+    @Resource
+    private ElasticsearchRestTemplate elasticsearchRestTemplate;
     @Override
     public int insertTable(EsModel esModel) {
-       // EsModel esModel = new EsModel();
-      //  Integer integer = new Integer(123);
-      //  esModel.setId(Long.valueOf(integer));
-      //  esModel.setCtId(Long.valueOf(integer));
-       // esModel.setCtTableName("tb_ajk");
-         //   esModel.setCtName("澶у");
-          //  esModel.setCtContent("澶у濂斤紝鎵嶆槸鐪熺殑濂�");//澶勪簨鐢�
-//            esModel.setBy1(tbAjk.getLaay());//妗堢敱
-//            esModel.setBy2(tbAjk.getAjlb());//绫诲埆
-//            esModel.setBy3(tbAjk.getCjnr());//鍐呭
-//            esModel.setBy4(tbAjk.getContent());//鍑哄唴瀹�
-//            esModel.setBy5(tbAjk.getCbpcs());//鎵垮姙
-//            esModel.setRemark(tbAjk.getJyaq());//绠�瑕佹儏
         try {
             esRepository.save(esModel);
+           // esRepository.searchSimilar()
         } catch (Exception e) {
-            System.out.println("dddddddddddd");
+            System.out.println(e);
             // throw new Exception("ES鏁版嵁鍚屾澶辫触锛岃鑱旂郴绠$悊鍛樺鐞嗭紒");
         }
         return 0;
     }
+    //  鍏ㄦ枃妫�绱�
+    @Override
+    public List<EsModel> findByCondition(String con) {
+        List<EsModel> esm = new ArrayList<>();
+       // MatchQueryBuilder matchQueryBuilder = QueryBuilders.matchQuery("title", title);
+        //澶氬瓧娈佃繘琛屽尮閰�
+//        MultiMatchQueryBuilder multiMatchQueryBuilder = QueryBuilders.multiMatchQuery(con, "ctName", "ctContent","remark",
+//                "by1","by2","by3","by4");
+        BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
+        boolQueryBuilder.should(QueryBuilders.matchQuery("ctName",con));
+        boolQueryBuilder.should(QueryBuilders.matchQuery("ctContent",con));
+        boolQueryBuilder.should(QueryBuilders.matchQuery("remark",con));
+        boolQueryBuilder.should(QueryBuilders.matchQuery("by1",con));
+        boolQueryBuilder.should(QueryBuilders.matchQuery("by2",con));
+        boolQueryBuilder.should(QueryBuilders.matchQuery("by3",con));
+        boolQueryBuilder.should(QueryBuilders.matchQuery("by4",con));
+
+        NativeSearchQueryBuilder nativeSearchQueryBuilder = new NativeSearchQueryBuilder()
+                .withQuery(boolQueryBuilder);
+        NativeSearchQuery nativeSearchQuery = nativeSearchQueryBuilder.build();
+
+        // 鎵ц鏌ヨ
+        SearchHits<EsModel> searchHits = elasticsearchRestTemplate.search(nativeSearchQuery,EsModel.class);
+        searchHits.getSearchHits().forEach(personSearchHit -> {
+            EsModel content = personSearchHit.getContent();
+            esm.add(content);
+        //    System.out.println(content);
+        });
+       // articleList.forEach(a-> System.out.println(a))
+
+        return esm;
+
+    }
 }

--
Gitblit v1.9.1