Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
E
event
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
陈世强
event
Commits
16b8f6af
提交
16b8f6af
authored
9月 19, 2024
作者:
925993793@qq.com
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
代码调整
上级
207f7049
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
21 行增加
和
18 行删除
+21
-18
EventServiceImpl.java
...in/java/com/zzsn/event/service/impl/EventServiceImpl.java
+21
-18
没有找到文件。
src/main/java/com/zzsn/event/service/impl/EventServiceImpl.java
浏览文件 @
16b8f6af
...
@@ -223,7 +223,7 @@ public class EventServiceImpl extends ServiceImpl<EventMapper, Event> implements
...
@@ -223,7 +223,7 @@ public class EventServiceImpl extends ServiceImpl<EventMapper, Event> implements
List
<
EventNewPlatVO
>
pageList
=
baseMapper
.
newPlatPageList
(
subjectCondition
,
offset
,
pageSize
);
List
<
EventNewPlatVO
>
pageList
=
baseMapper
.
newPlatPageList
(
subjectCondition
,
offset
,
pageSize
);
long
t1
=
System
.
currentTimeMillis
();
long
t1
=
System
.
currentTimeMillis
();
count
(
pageList
);
count
(
pageList
);
System
.
out
.
println
(
"数量统计
耗时===="
+
(
System
.
currentTimeMillis
()
-
t1
));
log
.
info
(
"数量统计总共
耗时===="
+
(
System
.
currentTimeMillis
()
-
t1
));
//获取总条数
//获取总条数
Integer
count
=
baseMapper
.
newPlatCount
(
subjectCondition
);
Integer
count
=
baseMapper
.
newPlatCount
(
subjectCondition
);
IPage
<
EventNewPlatVO
>
pageData
=
new
Page
<>(
pageNo
,
pageSize
,
count
);
IPage
<
EventNewPlatVO
>
pageData
=
new
Page
<>(
pageNo
,
pageSize
,
count
);
...
@@ -651,10 +651,12 @@ public class EventServiceImpl extends ServiceImpl<EventMapper, Event> implements
...
@@ -651,10 +651,12 @@ public class EventServiceImpl extends ServiceImpl<EventMapper, Event> implements
//查询每个专题的数量
//查询每个专题的数量
private
Map
<
String
,
Integer
>
subjectInfoCountMap
(
List
<
String
>
subjectIdList
,
List
<
Integer
>
checkStatusList
)
{
private
Map
<
String
,
Integer
>
subjectInfoCountMap
(
List
<
String
>
subjectIdList
,
List
<
Integer
>
checkStatusList
)
{
Map
<
String
,
Integer
>
map
=
new
HashMap
<>(
subjectIdList
.
size
());
SearchRequest
searchRequest
=
new
SearchRequest
(
Constants
.
SUBJECT_INDEX
);
SearchRequest
searchRequest
=
new
SearchRequest
(
Constants
.
SUBJECT_INDEX
);
SearchSourceBuilder
searchSourceBuilder
=
new
SearchSourceBuilder
();
SearchSourceBuilder
searchSourceBuilder
=
new
SearchSourceBuilder
();
//默认最大数量是10000,设置为true后,显示准确数量
//默认最大数量是10000,设置为true后,显示准确数量
searchSourceBuilder
.
trackTotalHits
(
true
);
searchSourceBuilder
.
trackTotalHits
(
true
);
searchSourceBuilder
.
size
(
0
);
//创建查询对象
//创建查询对象
BoolQueryBuilder
boolQuery
=
QueryBuilders
.
boolQuery
();
BoolQueryBuilder
boolQuery
=
QueryBuilders
.
boolQuery
();
boolQuery
.
must
(
QueryBuilders
.
termsQuery
(
"subjectId.keyword"
,
subjectIdList
));
boolQuery
.
must
(
QueryBuilders
.
termsQuery
(
"subjectId.keyword"
,
subjectIdList
));
...
@@ -667,28 +669,22 @@ public class EventServiceImpl extends ServiceImpl<EventMapper, Event> implements
...
@@ -667,28 +669,22 @@ public class EventServiceImpl extends ServiceImpl<EventMapper, Event> implements
//分组
//分组
TermsAggregationBuilder
aggregationBuilder
=
AggregationBuilders
.
terms
(
"group_subjectId"
).
field
(
"subjectId.keyword"
);
TermsAggregationBuilder
aggregationBuilder
=
AggregationBuilders
.
terms
(
"group_subjectId"
).
field
(
"subjectId.keyword"
);
searchSourceBuilder
.
aggregation
(
aggregationBuilder
);
searchSourceBuilder
.
aggregation
(
aggregationBuilder
);
//不返回文本内容
searchSourceBuilder
.
fetchSource
(
false
);
searchRequest
.
source
(
searchSourceBuilder
);
searchRequest
.
source
(
searchSourceBuilder
);
SearchResponse
searchResponse
=
null
;
try
{
try
{
searchResponse
=
client
.
search
(
searchRequest
,
RequestOptions
.
DEFAULT
);
SearchResponse
searchResponse
=
client
.
search
(
searchRequest
,
RequestOptions
.
DEFAULT
);
//获取分组桶
Aggregations
aggregations
=
searchResponse
.
getAggregations
();
//获取id分组集合
Terms
parsedStringTerms
=
aggregations
.
get
(
"group_subjectId"
);
List
<?
extends
Terms
.
Bucket
>
buckets
=
parsedStringTerms
.
getBuckets
();
for
(
Terms
.
Bucket
bucket
:
buckets
)
{
String
subjectId
=
bucket
.
getKeyAsString
();
long
collectCount
=
bucket
.
getDocCount
();
map
.
put
(
subjectId
,
(
int
)
collectCount
);
}
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
//获取分组桶
Aggregations
aggregations
=
searchResponse
.
getAggregations
();
//获取id分组集合
Terms
parsedStringTerms
=
aggregations
.
get
(
"group_subjectId"
);
List
<?
extends
Terms
.
Bucket
>
buckets
=
parsedStringTerms
.
getBuckets
();
Map
<
String
,
Integer
>
map
=
new
HashMap
<>(
subjectIdList
.
size
());
for
(
Terms
.
Bucket
bucket
:
buckets
)
{
String
subjectId
=
bucket
.
getKeyAsString
();
long
collectCount
=
bucket
.
getDocCount
();
map
.
put
(
subjectId
,
(
int
)
collectCount
);
}
return
map
;
return
map
;
}
}
...
@@ -696,14 +692,21 @@ public class EventServiceImpl extends ServiceImpl<EventMapper, Event> implements
...
@@ -696,14 +692,21 @@ public class EventServiceImpl extends ServiceImpl<EventMapper, Event> implements
if
(
CollectionUtils
.
isNotEmpty
(
pageList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
pageList
))
{
List
<
String
>
idList
=
pageList
.
stream
().
map
(
EventNewPlatVO:
:
getId
).
collect
(
Collectors
.
toList
());
List
<
String
>
idList
=
pageList
.
stream
().
map
(
EventNewPlatVO:
:
getId
).
collect
(
Collectors
.
toList
());
Map
<
String
,
Integer
>
infoSourceNumMap
=
new
HashMap
<>();
Map
<
String
,
Integer
>
infoSourceNumMap
=
new
HashMap
<>();
long
t1
=
System
.
currentTimeMillis
();
Map
<
String
,
Integer
>
keyWordsNumMap
=
baseMapper
.
bindKeywordCountList
(
idList
).
stream
().
collect
(
Collectors
.
toMap
(
SubjectPage:
:
getId
,
SubjectPage:
:
getKeyWordsNum
));
Map
<
String
,
Integer
>
keyWordsNumMap
=
baseMapper
.
bindKeywordCountList
(
idList
).
stream
().
collect
(
Collectors
.
toMap
(
SubjectPage:
:
getId
,
SubjectPage:
:
getKeyWordsNum
));
long
t2
=
System
.
currentTimeMillis
();
log
.
info
(
"关键词数量查询耗时==={}"
,
t2
-
t1
);
Map
<
String
,
List
<
SubjectSourceVO
>>
collect
=
subjectBindSourceList
(
idList
).
stream
().
collect
(
Collectors
.
groupingBy
(
SubjectSourceVO:
:
getSubjectId
));
Map
<
String
,
List
<
SubjectSourceVO
>>
collect
=
subjectBindSourceList
(
idList
).
stream
().
collect
(
Collectors
.
groupingBy
(
SubjectSourceVO:
:
getSubjectId
));
long
t3
=
System
.
currentTimeMillis
();
log
.
info
(
"信息源数量查询耗时==={}"
,
t3
-
t2
);
for
(
Map
.
Entry
<
String
,
List
<
SubjectSourceVO
>>
entry
:
collect
.
entrySet
())
{
for
(
Map
.
Entry
<
String
,
List
<
SubjectSourceVO
>>
entry
:
collect
.
entrySet
())
{
String
subjectId
=
entry
.
getKey
();
String
subjectId
=
entry
.
getKey
();
List
<
SubjectSourceVO
>
value
=
entry
.
getValue
();
List
<
SubjectSourceVO
>
value
=
entry
.
getValue
();
infoSourceNumMap
.
put
(
subjectId
,
value
.
size
());
infoSourceNumMap
.
put
(
subjectId
,
value
.
size
());
}
}
long
t4
=
System
.
currentTimeMillis
();
Map
<
String
,
Integer
>
subjectInfoCountMap
=
subjectInfoCountMap
(
idList
,
null
);
Map
<
String
,
Integer
>
subjectInfoCountMap
=
subjectInfoCountMap
(
idList
,
null
);
log
.
info
(
"资讯数量查询耗时==={}"
,
System
.
currentTimeMillis
()-
t4
);
for
(
EventNewPlatVO
newPlatVO
:
pageList
)
{
for
(
EventNewPlatVO
newPlatVO
:
pageList
)
{
int
keyWordsNum
=
null
==
keyWordsNumMap
.
get
(
newPlatVO
.
getId
())
?
0
:
keyWordsNumMap
.
get
(
newPlatVO
.
getId
());
int
keyWordsNum
=
null
==
keyWordsNumMap
.
get
(
newPlatVO
.
getId
())
?
0
:
keyWordsNumMap
.
get
(
newPlatVO
.
getId
());
int
infoSourceNum
=
null
==
infoSourceNumMap
.
get
(
newPlatVO
.
getId
())
?
0
:
infoSourceNumMap
.
get
(
newPlatVO
.
getId
());
int
infoSourceNum
=
null
==
infoSourceNumMap
.
get
(
newPlatVO
.
getId
())
?
0
:
infoSourceNumMap
.
get
(
newPlatVO
.
getId
());
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论