定义了EsModel作为报错到es的数据模型,每个表要存储的是每个表的表明
表对应的主键,以及要被检索的字段

EsRepository 定义了es的相关操作,保证增加,删除,修改,以及查询的接口
6个文件已修改
5个文件已添加
326 ■■■■ 已修改文件
ruoyi-admin/src/main/resources/application-druid.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application.yml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/test/java/com/ruoyi/esTest.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/test/java/com/ruoyi/insertData.java 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/pom.xml 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/EsModel.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/pom.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/mapper/EsRepository.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/esService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/impl/ZfEventServiceImpl.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/impl/esServiceImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application-druid.yml
@@ -6,8 +6,8 @@
        druid:
            # 主库数据源
            master:
#                url: jdbc:mysql://47.93.189.255:3306/ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                url: jdbc:mysql://localhost:3306/ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                url: jdbc:mysql://47.93.189.255:3306/ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
#                url: jdbc:mysql://localhost:3306/ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                username: root
                password: ZhangApp123!
#                password: 123456
ruoyi-admin/src/main/resources/application.yml
@@ -49,6 +49,10 @@
# Spring配置
spring:
  #es配置
  elasticsearch:
    rest:
      uris: http://47.93.189.255:8087
  # 资源信息
  messages:
    # 国际化资源文件路径
@@ -124,7 +128,7 @@
  pathMapping: /dev-api
# 防止XSS攻击
xss:
xss:
  # 过滤开关
  enabled: true
  # 排除链接(多个用逗号分隔)
ruoyi-admin/src/test/java/com/ruoyi/esTest.java
New file
@@ -0,0 +1,50 @@
package com.ruoyi;
import com.ruoyi.service.esService;
import org.elasticsearch.client.IndicesClient;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
//@RunWith(SpringRunner.class)
//@SpringBootTest(classes = esTest.class)
@SpringBootTest
public class esTest {
    @Autowired
    private esService ess;
    @Autowired
    private ElasticSearchConfig elas;
    @Test
    public void esUser()
    {
        // 操作索引的对象
     //   this.elas = new ElasticSearchConfig();
        System.out.println(elas);
        IndicesClient indices = elas.client().indices();
        System.out.println(indices);
     //   CreateIndexRequest request = new CreateIndexRequest("ysx_course");
   //     request.settings(Settings.builder().put("number_of_shards", "1").put("number_of_replicas", "0"));
    }
    @Test
    public void esUs()
    {
        // 操作索引的对象
        System.out.println(ess);
     //   ess.insertTable("lis");
    }
}
ruoyi-admin/src/test/java/com/ruoyi/insertData.java
@@ -40,27 +40,27 @@
    public void insert() {
        List<String> people = Arrays.asList("张三,张强,张力", "张萌,张蒙", "张旺,张点,张可", "张章,张常", "张璇,张为,张强,张力");
        List<String> address = Arrays.asList("花园", "海滩", "公园", "游乐场", "田园", "农庄");
        ZfEvent zfEvent = null;
        for (int i = 0; i < 200; i++) {
            zfEvent = new ZfEvent();
            int peopleRandom = new Random().nextInt(5);//0-4的随机数
            int addressRandom = new Random().nextInt(6);//0-5的随机数
            String base = "abcdefghijklmnopqrstuvwxyz";
            int strRandom1 = new Random().nextInt(16);//0-15的随机数
            int strRandom2 = new Random().nextInt(16);//0-15的随机数
            String title = base.substring(strRandom1, strRandom1 + 8);
            String remark = base.substring(strRandom2, strRandom2 + 8);
            zfEvent.setPeople(people.get(peopleRandom));
            zfEvent.setAddress(address.get(addressRandom));
            zfEvent.setTitle(title);
            zfEvent.setRemark(remark);
            zfEventService.save(zfEvent);
        }
        System.out.println(zfEventService);
//        ZfEvent zfEvent = null;
//
//        for (int i = 0; i < 200; i++) {
//            zfEvent = new ZfEvent();
//            int peopleRandom = new Random().nextInt(5);//0-4的随机数
//            int addressRandom = new Random().nextInt(6);//0-5的随机数
//
//            String base = "abcdefghijklmnopqrstuvwxyz";
//            int strRandom1 = new Random().nextInt(16);//0-15的随机数
//            int strRandom2 = new Random().nextInt(16);//0-15的随机数
//            String title = base.substring(strRandom1, strRandom1 + 8);
//            String remark = base.substring(strRandom2, strRandom2 + 8);
//
//            zfEvent.setPeople(people.get(peopleRandom));
//            zfEvent.setAddress(address.get(addressRandom));
//            zfEvent.setTitle(title);
//            zfEvent.setRemark(remark);
//            zfEventService.save(zfEvent);
//
//        }
    }
@@ -157,7 +157,7 @@
            zfCollection.setPrice(l6.get(typeNum));
            zfCollection.setLocation(l7.get(typeNum));
            zfCollection.setRemark(l8.get(typeNum));
            zfCollection.setFamilyId("4");
            //zfCollection.setFamilyId(4);
            zfCollection.setUrl("profile/upload/2023/03/19/test7_20230319222030A007.jpg");
            zfCollectionService.save(zfCollection);
@@ -193,14 +193,14 @@
            zfEconomy = new ZfEconomy();
            zfEconomy.setCreateTime(simpleDateFormat.parse(l1.get(timeNum)));
            zfEconomy.setType(l6.get(typeNum));
            zfEconomy.setPrice(l2.get(typeNum));
            zfEconomy.setUseFor(l3.get(typeNum));
            zfEconomy.setUsePeople(l4.get(typeNum));
            zfEconomy.setKind(l6.get(typeNum));
            zfEconomy.setBalance(l5.get(typeNum));
            zfEconomy.setRemark(l3.get(typeNum));
            zfEconomy.setFamilyId(l9.get(familyNum));
//            zfEconomy.setType(l6.get(typeNum));
//            zfEconomy.setPrice(l2.get(typeNum));
//            zfEconomy.setUseFor(l3.get(typeNum));
//            zfEconomy.setUsePeople(l4.get(typeNum));
//            zfEconomy.setKind(l6.get(typeNum));
//            zfEconomy.setBalance(l5.get(typeNum));
//            zfEconomy.setRemark(l3.get(typeNum));
//            zfEconomy.setFamilyId(l9.get(familyNum));
            zfEconomy.setUrl("profile/upload/2023/03/19/test7_20230319222030A007.jpg");
            zfEconomyService.save(zfEconomy);
@@ -239,7 +239,7 @@
            zfClean.setLocation(l6.get(count));
            zfClean.setRemark(l9.get(count));
            zfClean.setUrl("profile/upload/2023/03/19/test7_20230319222030A007.jpg");
            zfClean.setFamilyId(l7.get(familyNum));
         //   zfClean.setFamilyId(l7.get(familyNum));
            zfCleanService.save(zfClean);
        }
ruoyi-common/pom.xml
@@ -16,6 +16,27 @@
    </description>
    <dependencies>
        <!--引入es的坐标-->
        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-high-level-client</artifactId>
            <version>7.15.1</version>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-client</artifactId>
            <version>7.15.1</version>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>7.15.1</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
        </dependency>
        <!-- Spring框架基本的核心工具 -->
        <dependency>
@@ -142,6 +163,23 @@
            <artifactId>easyexcel</artifactId>
            <version>2.2.6</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.16</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-core</artifactId>
            <version>8.8.0</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/EsModel.java
New file
@@ -0,0 +1,70 @@
package com.ruoyi.common.core.domain.entity;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
import java.util.Date;
/**
 * Es 索引库实体
 *
 * @author feige
 * @date 2023-09-14
 */
@Document(indexName = "allsearch")
@Data
public class EsModel {
    /*** 索引id*/
    @Id
    @Field(type = FieldType.Text)
    private String id;
    /**** es中对应的数据库业务单据id*/
    @Field(analyzer = "ik_max_word")
    private Long ctId;
    /**** es中业务数据 对应的业务数据库表名称*/
    @Field(analyzer = "ik_max_word")
    private String ctTableName;
    /**** es中业务数据 对应的 业务简称*/
    @Field(analyzer = "ik_max_word")
    private String ctName;
    /**** es中业务数据 对应的 业务内容详细信息*/
    @Field(analyzer = "ik_max_word")
    private String ctContent;
    /** 备注 */
    @Field(analyzer = "ik_max_word")
    private String remark;
    /** 备用1 */
    @Field(analyzer = "ik_max_word")
    private String by1;
    /** 备用2 */
    @Field(analyzer = "ik_max_word")
    private String by2;
    /** 备用3 */
    @Field(analyzer = "ik_max_word")
    private String by3;
    /** 备用4 */
    @Field(analyzer = "ik_max_word")
    private String by4;
    /** 备用5 */
    @Field(analyzer = "ik_max_word")
    private String by5;
}
zhang-content/pom.xml
@@ -43,6 +43,22 @@
            <artifactId>velocity-engine-core</artifactId>
            <version>2.3</version>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-test</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
        </dependency>
    </dependencies>
    <build>
zhang-content/src/main/java/com/ruoyi/mapper/EsRepository.java
New file
@@ -0,0 +1,11 @@
package com.ruoyi.mapper;
import com.ruoyi.common.core.domain.entity.EsModel;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface EsRepository extends ElasticsearchRepository<EsModel, String> {
}
zhang-content/src/main/java/com/ruoyi/service/esService.java
New file
@@ -0,0 +1,7 @@
package com.ruoyi.service;
import com.ruoyi.common.core.domain.entity.EsModel;
public interface esService {
    public int insertTable(EsModel esModel);
}
zhang-content/src/main/java/com/ruoyi/service/impl/ZfEventServiceImpl.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.EsModel;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.MapUtils;
import com.ruoyi.common.utils.SecurityUtils;
@@ -14,10 +15,7 @@
import com.ruoyi.domain.ZfEvent;
import com.ruoyi.domain.ZfEvent;
import com.ruoyi.mapper.ZfEventMapper;
import com.ruoyi.service.ZAuthorityService;
import com.ruoyi.service.ZInfoUserService;
import com.ruoyi.service.ZfEventService;
import com.ruoyi.service.ZfLogService;
import com.ruoyi.service.*;
import com.ruoyi.util.ArraysUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -51,7 +49,9 @@
    @Resource
    ZAuthorityService zAuthorityService;
    //加入到es中
    @Resource
    private esService esSer;
    private LambdaQueryWrapper<ZfEvent> buildCondition(ZfEvent zfEvent,List<Long> familyIdList) {
        LambdaQueryWrapper<ZfEvent> lqw = new LambdaQueryWrapper<>();
        lqw.orderByDesc(ZfEvent::getCreateTime);
@@ -343,6 +343,20 @@
        }
        if (save(zfEvent)) {
            //  飞  加入
            EsModel esModel = new EsModel();
            Integer inte = zfEvent.getId();
            String uuid = UUID.randomUUID().toString().replace("-","");
            esModel.setId(uuid);
            esModel.setCtId(Long.valueOf(inte));
            esModel.setCtName(zfEvent.getTitle());
            esModel.setCtContent(zfEvent.getAddress());
            esModel.setBy1(zfEvent.getRemark());
            // esModel.setCtTableName("tb_ajk");
            //   esModel.setCtName("大家");
            //  esModel.setCtContent("大家好,才是真的好");//处事由
            esSer.insertTable(esModel);
            return AjaxResult.success();
        } else {
            return AjaxResult.error();
zhang-content/src/main/java/com/ruoyi/service/impl/esServiceImpl.java
New file
@@ -0,0 +1,38 @@
package com.ruoyi.service.impl;
import com.ruoyi.common.core.domain.entity.EsModel;
import com.ruoyi.mapper.EsRepository;
import com.ruoyi.service.esService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class esServiceImpl implements esService {
    @Resource
    private EsRepository esRepository;
    @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);
        } catch (Exception e) {
            System.out.println("dddddddddddd");
            // throw new Exception("ES数据同步失败,请联系管理员处理!");
        }
        return 0;
    }
}