狂神说-Elasticsearch 7.6入门学习笔记
错误如下:
java.security.Acces ControlException: access denied (\ik\config\IKAnalyzer.cfg.xml" "read")
原因:
D:\Program Files文件夹下的所有文件默认都是只读权限。
解决方法:
Elasticsearch不要安装在 Program Files 、Program Files (x86) 这些目录下。
参考链接
建议中文使用ik_max_word映射
参考链接
官方链接、参考链接
百家号、知乎
msearch支持多索引uion联合查询。
msearch的语法如下:
GET /_msearch
查询一条数据它需要两个对象,第一个设置index和type,第二个设置查询语句。查询语句和search相同。
如果只是查询一个index,我们可以在url中带上index,语法如下:
GET /索引名/_msearch
请求示例1:
GET /repetition-result/_msearch
{}
{"query" : {"term" : {"achievementId" : "1"}}, "size" : 3}
{}
{"query" : {"term" : {"contrastId" : "1"}}, "size" : 3}
请求示例2:
GET /repetition-result/_msearch
{}
{"query" : {"term" : {"achievementId" : "1"}}, "size" : 3}
{"index": "repetition-result-test"}
{"query" : {"term" : {"contrastId" : "3"}}, "size" : 3}
"cardinality": {
"script": {
"lang": "painless",
"source": "doc['achievementId'].value + doc['contrastId'].value"
}
}
参考链接
参考链接
参考链接
参考链接
参考链接
certutil -hashfile 文件名 MD5
C:\>certutil -hashfile E:\Downloads\ZGGX-ZF-CMND-2023200015.xlsx MD5
1、修改本地分支名称
2、在本地将远程分支删除
3、将改名后的本地分支推送到远程仓库
参考链接
1、查询commintId
IDEA界面、命令git log、远程仓库页面都可以
2、git reset --hard commintId
3、git push -f
必须用这个命令强推 或者 用图形界面强推。
否则会报下面的弹窗:
1、找到Git对应日志 -> 建立分支
2、push提交代码(支持修改代码后提交)
3、修改分支名(参考:Git修改分支名)
EasyExcel官方必读文档(包括版本选择)
使用了lombok的@Accessors(chain = true) ,无法被Cglib读取
建议使用@Builder来替换@Accessors(chain = true)
上面的截图有两个错误:① 动态列需要加上@ExcelIgnore注解(或者实体类加@ExcelIgnoreUnannotated) ② context.readStringCell(i)方法不存在
解决参考代码(验证通过):
// 动态列处理
List<String> dynamicDataList = new ArrayList<>();
for(int i = 5; i < readRowHolder.getCellMap().size(); i++){
ReadCellData ReadCellData = (ReadCellData)readRowHolder.getCellMap().get(i);
if(StringUtils.isNotBlank(ReadCellData.getStringValue())){
dynamicDataList.add(ReadCellData.getStringValue());
}
}
from_unixtime()把long类型时间戳格式化
参考链接
启动项目报下面的错:
The dependencies of some of the beans in the application context form a cycle:
testController (field private com.aspire.achievement.repetition.service.RepetitionAbilityService com.aspire.achievement.repetition.controller.TestController.repetitionAbilityService)
┌─────┐
| repetitionAbilityServiceImpl (field private com.aspire.achievement.repetition.service.RepetitionTaskService com.aspire.achievement.repetition.service.impl.RepetitionAbilityServiceImpl.repetitionTaskService)
↑ ↓
| repetitionTaskServiceImpl (field private com.aspire.achievement.repetition.factory.BlockQueueFactory com.aspire.achievement.repetition.service.impl.RepetitionTaskServiceImpl.blockQueueFactory)
↑ ↓
| blockQueueFactory (field private com.aspire.achievement.repetition.service.RepetitionAbilityService com.aspire.achievement.repetition.factory.BlockQueueFactory.repetitionAbilityService)
└─────┘
Action:
Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.
解决方法:
1、代码中主动取消循环依赖
2、增加允许循环依赖的配置
spring:
main:
allow-circular-references: true
3、添加延迟加载@Lazy注解 (未成功)
参考链接
在本地Windows操作远程sftp服务器,完全没问题。但是部署到Linux服务器时,出现下面的错误:
Session.connect: java.security.InvalidAlgorithmParameterException:
DH key size must be multiple of 64, and can only range from 512 to 2048 (inclusive).
The specific key size 3072 is not supported
本地和linux都是jdk 1.8的环境。
经排查,发现项目引入的jsch依赖如下:
<dependency>
<groupId>org.netbeans.externalgroupId>
<artifactId>com-jcraft-jschartifactId>
<version>RELEASE180version>
dependency>
解决方法:
1、使用jdk 1.8以上的环境
2、更换jsch依赖(经测试0.1.54也可以)
<dependency>
<groupId>com.jcraftgroupId>
<artifactId>jschartifactId>
<version>0.1.54version>
dependency>
注:如果0.1.52版本在windows环境中运行会报下面的错:
com.jcraft.jsch.JSchException: Session.connect: java.io.IOException: End of IO Stream Read
解决方法:更换jsch依赖为0.1.54即可。
参考链接
参考链接