Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Q
qk_backend
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
quanku
qk_backend
Commits
dcb78f84
Commit
dcb78f84
authored
Aug 24, 2023
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
es增量数据同步
parent
538ab83a
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
34 additions
and
19 deletions
+34
-19
ch-admin-api/src/main/java/com/wwdz/ch/admin/job/SynItemToEsJob.java
...i/src/main/java/com/wwdz/ch/admin/job/SynItemToEsJob.java
+4
-12
ch-admin-api/src/test/java/com/wwdz/ch/admin/impl/ElasticsearchUtilTest.java
...st/java/com/wwdz/ch/admin/impl/ElasticsearchUtilTest.java
+1
-1
ch-admin-api/src/test/java/com/wwdz/ch/admin/impl/SynCoinJobTest.java
.../src/test/java/com/wwdz/ch/admin/impl/SynCoinJobTest.java
+17
-0
ch-core/src/main/resources/application-prod.yml
ch-core/src/main/resources/application-prod.yml
+1
-1
ch-dao/src/main/java/com/wwdz/ch/db/es/ItemEsDao.java
ch-dao/src/main/java/com/wwdz/ch/db/es/ItemEsDao.java
+11
-5
No files found.
ch-admin-api/src/main/java/com/wwdz/ch/admin/job/SynItemToEsJob.java
View file @
dcb78f84
...
...
@@ -58,9 +58,9 @@ public class SynItemToEsJob {
RedissonClient
redissonClient
;
/**
* 隔
一小时
运行一次
* 隔
2分钟
运行一次
*/
// @Scheduled(fixedDelay = 1000 * 60 * 60
)
@Scheduled
(
fixedDelay
=
1000
*
60
*
2
)
public
void
execute
()
{
RLock
lock
=
redissonClient
.
getLock
(
QUANKU_SYN_TO_ES_TASK_KEY
);
if
(!
lock
.
tryLock
())
{
...
...
@@ -78,7 +78,7 @@ public class SynItemToEsJob {
logger
.
info
(
"es中最新数据时间为 {}"
,
DateUtils
.
toString
(
time
));
CoinRequestDto
coinRequestDto
=
new
CoinRequestDto
();
coinRequestDto
.
setPage
(
1
);
coinRequestDto
.
setLimit
(
20
0
);
coinRequestDto
.
setLimit
(
1
0
);
coinRequestDto
.
setStartUpdateTime
(
time
);
coinRequestDto
.
setSortColumn
(
"update_time"
);
List
<
Item
>
itemList
=
itemDao
.
findListByPage
(
coinRequestDto
);
...
...
@@ -86,17 +86,9 @@ public class SynItemToEsJob {
logger
.
info
(
"待同步增量数据总量 : {}, 当前查询 {} 条数据进行同步"
,
pageInfo
.
getTotal
(),
itemList
.
size
());
for
(
Item
item
:
itemList
)
{
executorService
.
submit
(()
->
{
if
(
itemEsDao
.
isExised
(
item
.
getId
()))
{
//存在就修改
itemEsDao
.
update
(
item
);
}
else
{
itemEsDao
.
createSingle
(
item
);
}
itemEsDao
.
upsert
(
item
);
});
}
itemEsDao
.
create
(
itemList
);
logger
.
info
(
">>>>>>>>>>>>>>>>>>>>>>> 增量数据同步ES成功, 执行完毕 <<<<<<<<<<<<<<<<<<<<<"
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"同步item增量数据到ES error {}"
,
e
);
...
...
ch-admin-api/src/test/java/com/wwdz/ch/admin/impl/ElasticsearchUtilTest.java
View file @
dcb78f84
...
...
@@ -57,7 +57,7 @@ public class ElasticsearchUtilTest {
public
void
find
()
{
EsSearchRequestDto
esSearchRequestDto
=
new
EsSearchRequestDto
();
// esSearchRequestDto.setContent("清代");
esSearchRequestDto
.
setIncludes
(
Arrays
.
asList
(
"id"
,
"source"
,
"name"
,
"images"
,
"updateTime"
,
"createTime"
));
//
esSearchRequestDto.setIncludes(Arrays.asList("id", "source", "name","images","updateTime", "createTime"));
esSearchRequestDto
.
setPage
(
1
);
esSearchRequestDto
.
setSize
(
20
);
EsPageInfo
esPageInfo
=
itemEsDao
.
findList
(
esSearchRequestDto
);
...
...
ch-admin-api/src/test/java/com/wwdz/ch/admin/impl/SynCoinJobTest.java
View file @
dcb78f84
...
...
@@ -2,6 +2,8 @@ package com.wwdz.ch.admin.impl;
import
com.wwdz.ch.admin.job.SynCoinJob
;
import
com.wwdz.ch.admin.job.SynItemToEsJob
;
import
com.wwdz.ch.db.dao.ItemDao
;
import
com.wwdz.ch.db.domain.Item
;
import
com.wwdz.ch.db.es.ItemEsDao
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
...
...
@@ -25,6 +27,9 @@ public class SynCoinJobTest {
@Autowired
SynItemToEsJob
synItemToEsJob
;
@Autowired
ItemDao
itemDao
;
@Test
public
void
execute
()
{
synCoinJob
.
execute
();
...
...
@@ -42,6 +47,18 @@ public class SynCoinJobTest {
itemEsDao
.
createIndex
();
}
@Test
public
void
upsert
()
throws
Exception
{
Item
item
=
itemDao
.
findById
(
767537L
);
itemEsDao
.
upsert
(
item
);
}
@Test
public
void
updateDocumnet
()
throws
Exception
{
Item
item
=
itemDao
.
findById
(
767540L
);
itemEsDao
.
update
(
item
);
}
@Test
public
void
synToEs
()
throws
Exception
{
...
...
ch-core/src/main/resources/application-prod.yml
View file @
dcb78f84
...
...
@@ -169,7 +169,7 @@ spring:
uris
:
172.16.122.190:9200
username
:
elastic
password
:
changeme
index
:
quanku_
new
index
:
quanku_
prod
server
:
servlet
:
session
:
...
...
ch-dao/src/main/java/com/wwdz/ch/db/es/ItemEsDao.java
View file @
dcb78f84
...
...
@@ -163,10 +163,12 @@ public class ItemEsDao {
}
public
void
createSingle
(
Item
item
)
{
/**
* 更新或创建
* @param item
*/
public
void
upsert
(
Item
item
)
{
try
{
// 创建文档
IndexRequest
indexRequest
=
new
IndexRequest
.
Builder
()
.
index
(
INDEX
)
.
id
(
String
.
valueOf
(
item
.
getId
()))
...
...
@@ -174,9 +176,13 @@ public class ItemEsDao {
.
build
();
IndexResponse
indexResponse
=
elasticsearchClient
.
index
(
indexRequest
);
logger
.
info
(
"indexResponse ={}"
,
indexResponse
);
logger
.
info
(
"ES新增数据成功 : {} "
,
item
);
if
(
indexResponse
.
shards
().
successful
().
intValue
()
==
1
)
{
logger
.
info
(
"ES upsert 数据成功 : {} "
,
item
);
}
else
{
logger
.
error
(
"ES upsert 数据失败 : {} "
,
item
);
}
}
catch
(
IOException
e
)
{
logger
.
info
(
"ES
新增
数据 content :{} error"
,
item
,
e
);
logger
.
info
(
"ES
upsert
数据 content :{} error"
,
item
,
e
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment