Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
brandkbs2
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
shenjunjie
brandkbs2
Commits
e37fd833
Commit
e37fd833
authored
Nov 15, 2022
by
shenjunjie
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature' into 'dev'
调整brandkbs_cache_maps.key查询值 See merge request
!82
parents
38564d67
88c5fad4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
32 additions
and
18 deletions
+32
-18
src/main/java/com/zhiwei/brandkbs2/es/EsQueryTools.java
+10
-3
src/main/java/com/zhiwei/brandkbs2/service/impl/ChannelServiceImpl.java
+1
-1
src/main/java/com/zhiwei/brandkbs2/service/impl/ProjectWarnServiceImpl.java
+18
-14
src/main/java/com/zhiwei/brandkbs2/util/Tools.java
+3
-0
No files found.
src/main/java/com/zhiwei/brandkbs2/es/EsQueryTools.java
View file @
e37fd833
...
...
@@ -98,7 +98,7 @@ public class EsQueryTools {
public
static
BoolQueryBuilder
assembleCacheMapsQuery
(
String
projectId
,
String
linkedGroupId
,
String
contendId
,
List
<
String
>
mediaTypes
)
{
BoolQueryBuilder
nestedBoolQueryBuilder
=
QueryBuilders
.
boolQuery
();
// must key
nestedBoolQueryBuilder
.
must
(
cacheMapsNestedQuery
(
QueryBuilders
.
termQuery
(
"brandkbs_cache_maps.key.keyword"
,
concat
(
projectId
,
linkedGroupId
,
contendId
))));
nestedBoolQueryBuilder
.
must
(
cacheMapsNestedQuery
(
QueryBuilders
.
termQuery
(
"brandkbs_cache_maps.key.keyword"
,
concat
(
projectId
,
contendId
))));
// mediaType
if
(
CollectionUtils
.
isNotEmpty
(
mediaTypes
))
{
BoolQueryBuilder
mediaTypeQueryBuilder
=
QueryBuilders
.
boolQuery
();
...
...
@@ -188,9 +188,16 @@ public class EsQueryTools {
}
public
static
void
assembleContendsQuery
(
BoolQueryBuilder
query
,
Collection
<
String
>
contends
)
{
if
(
CollectionUtils
.
isEmpty
(
contends
))
{
return
;
}
for
(
String
contendId
:
contends
)
{
query
.
should
(
cacheMapsNestedQuery
(
QueryBuilders
.
termQuery
(
"brandkbs_cache_maps.contend_id.keyword"
,
contendId
)));
}
}
public
static
void
assembleContendsQuery4Channel
(
BoolQueryBuilder
query
,
Collection
<
String
>
contends
)
{
BoolQueryBuilder
contendQuery
=
QueryBuilders
.
boolQuery
();
// 主品牌一定参与
// contendQuery.should(QueryBuilders.termQuery("contend_id.keyword", "0"));
if
(
CollectionUtils
.
isEmpty
(
contends
))
{
return
;
}
...
...
src/main/java/com/zhiwei/brandkbs2/service/impl/ChannelServiceImpl.java
View file @
e37fd833
...
...
@@ -1407,7 +1407,7 @@ public class ChannelServiceImpl implements ChannelService {
query
.
must
(
QueryBuilders
.
termQuery
(
"project_id.keyword"
,
projectId
));
// 添加contends集合 查询
if
(
null
!=
contendIds
)
{
EsQueryTools
.
assembleContendsQuery
(
query
,
contendIds
);
EsQueryTools
.
assembleContendsQuery
4Channel
(
query
,
contendIds
);
}
// 添加渠道限制
if
(
null
!=
channelId
)
{
...
...
src/main/java/com/zhiwei/brandkbs2/service/impl/ProjectWarnServiceImpl.java
View file @
e37fd833
...
...
@@ -3,7 +3,6 @@ package com.zhiwei.brandkbs2.service.impl;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.zhiwei.brandkbs2.common.GenericAttribute
;
import
com.zhiwei.brandkbs2.common.RedisKeyPrefix
;
import
com.zhiwei.brandkbs2.config.Constant
;
import
com.zhiwei.brandkbs2.dao.ChannelDao
;
...
...
@@ -240,8 +239,8 @@ public class ProjectWarnServiceImpl implements ProjectWarnService {
String
platform
=
baseMap
.
getPlatform
();
String
source
=
baseMap
.
getSource
();
String
title
=
baseMap
.
getTitle
();
keyBuilder4
.
append
(
platform
).
append
(
"-"
).
append
(
source
).
append
(
"
/r/
n"
);
keyBuilder4
.
append
(
i
+
1
).
append
(
"、"
).
append
(
title
).
append
(
"
/r/
n"
);
keyBuilder4
.
append
(
platform
).
append
(
"-"
).
append
(
source
).
append
(
"
\r\
n"
);
keyBuilder4
.
append
(
i
+
1
).
append
(
"、"
).
append
(
title
).
append
(
"
\r\
n"
);
}
if
(
datas
.
size
()
>
2
)
{
key4
=
keyBuilder4
.
append
(
"..."
).
toString
();
...
...
@@ -276,8 +275,8 @@ public class ProjectWarnServiceImpl implements ProjectWarnService {
String
platform
=
baseMap
.
getPlatform
();
String
source
=
baseMap
.
getSource
();
String
title
=
baseMap
.
getTitle
();
keyBuilder4
.
append
(
platform
).
append
(
"-"
).
append
(
source
).
append
(
"
/r/
n"
);
keyBuilder4
.
append
(
i
+
1
).
append
(
"、"
).
append
(
title
).
append
(
"
/r/
n"
);
keyBuilder4
.
append
(
platform
).
append
(
"-"
).
append
(
source
).
append
(
"
\r\
n"
);
keyBuilder4
.
append
(
i
+
1
).
append
(
"、"
).
append
(
title
).
append
(
"
\r\
n"
);
}
if
(
datas
.
size
()
>
2
)
{
key4
=
keyBuilder4
.
append
(
"..."
).
toString
();
...
...
@@ -305,7 +304,7 @@ public class ProjectWarnServiceImpl implements ProjectWarnService {
out:
for
(
List
<
Event
>
value
:
eventMap
.
values
())
{
for
(
Event
event
:
value
)
{
keyBuilder4
.
append
(
event
.
getTitle
()).
append
(
"
/r/
n"
);
keyBuilder4
.
append
(
event
.
getTitle
()).
append
(
"
\r\
n"
);
if
(--
limit
==
0
)
{
break
out
;
}
...
...
@@ -359,8 +358,8 @@ public class ProjectWarnServiceImpl implements ProjectWarnService {
BrandkbsHotTopWarn
.
HotTop
hotTop
=
datas
.
get
(
i
);
String
topName
=
hotTop
.
getTopName
()
+
"榜"
;
String
title
=
hotTop
.
getTitle
();
keyBuilder4
.
append
(
topName
).
append
(
"
/r/
n"
);
keyBuilder4
.
append
(
i
+
1
).
append
(
"、"
).
append
(
title
).
append
(
"
/r/
n"
);
keyBuilder4
.
append
(
topName
).
append
(
"
\r\
n"
);
keyBuilder4
.
append
(
i
+
1
).
append
(
"、"
).
append
(
title
).
append
(
"
\r\
n"
);
}
if
(
datas
.
size
()
>
2
)
{
key4
=
keyBuilder4
.
append
(
"..."
).
toString
();
...
...
@@ -384,7 +383,7 @@ public class ProjectWarnServiceImpl implements ProjectWarnService {
for
(
int
i
=
0
;
i
<
2
;
i
++)
{
BrandkbsNewCaseWarn
.
NewCase
newCase
=
datas
.
get
(
i
);
String
title
=
newCase
.
getTitle
();
keyBuilder4
.
append
(
title
).
append
(
"
/r/
n"
);
keyBuilder4
.
append
(
title
).
append
(
"
\r\
n"
);
}
if
(
datas
.
size
()
>
2
)
{
key4
=
keyBuilder4
.
append
(
"..."
).
toString
();
...
...
@@ -564,25 +563,29 @@ public class ProjectWarnServiceImpl implements ProjectWarnService {
// 本品舆情+竞品舆情
BoolQueryBuilder
sourceBuilder
=
QueryBuilders
.
boolQuery
();
if
(
CollectionUtils
.
isNotEmpty
(
config
.
getMarkerTags
()))
{
sourceBuilder
.
should
(
QueryBuilders
.
termQuery
(
"brandkbs_mark_cache_maps.name.keyword"
,
config
.
getMarkerTags
(
)));
config
.
getMarkerTags
().
forEach
(
tagName
->
sourceBuilder
.
should
(
QueryBuilders
.
termQuery
(
"brandkbs_mark_cache_maps.name.keyword"
,
tagName
)));
}
if
(
CollectionUtils
.
isNotEmpty
(
config
.
getContends
()))
{
EsQueryTools
.
assembleContendsQuery
(
sourceBuilder
,
config
.
getContends
());
}
postFilter
.
must
(
sourceBuilder
);
// 关键词命中
postFilter
.
must
(
EsQueryTools
.
assembleNormalKeywordQuery
(
config
.
getKeyword
(),
new
String
[]{
GenericAttribute
.
ES_IND_FULL_TEXT
}));
// postFilter.must(EsQueryTools.assembleNormalKeywordQuery(config.getKeyword(), new String[]{GenericAttribute.ES_IND_FULL_TEXT}));
helper
.
setPostFilter
(
postFilter
);
SearchHits
searchHits
=
esClientDao
.
searchHits
(
helper
);
log
.
info
(
"获取舆情动态预警-es搜索到数据:{}条,剩余关键词筛选未进行,project:{}"
,
searchHits
.
getHits
().
length
,
project
.
getProjectName
());
List
<
BaseMap
>
datas
=
Arrays
.
stream
(
searchHits
.
getHits
()).
map
(
hit
->
{
Map
<
String
,
Object
>
sourceMap
=
hit
.
getSourceAsMap
();
BaseMap
baseMap
=
Tools
.
getBaseFromEsMap
(
sourceMap
);
// 关键词命中
if
(!
Tools
.
isContains
(
config
.
getKeyword
(),
baseMap
.
getTitle
()
+
baseMap
.
getContent
()))
{
return
null
;
}
JSONObject
hitMap
=
Tools
.
getBrandkbsHitMapWithProjectId
(
sourceMap
,
projectId
);
if
(!
hitMap
.
isEmpty
()
&&
!
Constant
.
PRIMARY_CONTEND_ID
.
equals
(
hitMap
.
getString
(
"contend_id"
)))
{
baseMap
.
setBrandName
(
projectService
.
getProjectByContendId
(
projectId
,
hitMap
.
getString
(
"contend_id"
)).
getBrandName
());
}
return
baseMap
;
}).
collect
(
Collectors
.
toList
());
}).
filter
(
Objects:
:
nonNull
).
collect
(
Collectors
.
toList
());
// 开启去重
if
(
Boolean
.
TRUE
.
equals
(
config
.
getDuplicate
()))
{
datas
=
duplicateBaseMapList
(
datas
);
...
...
@@ -619,12 +622,13 @@ public class ProjectWarnServiceImpl implements ProjectWarnService {
// 本品舆情
BoolQueryBuilder
sourceBuilder
=
QueryBuilders
.
boolQuery
();
if
(
CollectionUtils
.
isNotEmpty
(
config
.
getMarkerTags
()))
{
sourceBuilder
.
should
(
QueryBuilders
.
termQuery
(
"brandkbs_mark_cache_maps.name.keyword"
,
config
.
getMarkerTags
(
)));
config
.
getMarkerTags
().
forEach
(
tagName
->
sourceBuilder
.
should
(
QueryBuilders
.
termQuery
(
"brandkbs_mark_cache_maps.name.keyword"
,
tagName
)));
}
postFilter
.
must
(
sourceBuilder
);
helper
.
setPostFilter
(
postFilter
);
// 搜索结果
SearchHits
searchHits
=
esClientDao
.
searchHits
(
helper
);
log
.
info
(
"获取渠道参与预警-es搜索到数据:{}条,剩余渠道指数筛选未进行,project:{}"
,
searchHits
.
getHits
().
length
,
project
.
getProjectName
());
List
<
BaseMap
>
datas
=
Arrays
.
stream
(
searchHits
.
getHits
()).
map
(
hit
->
Tools
.
getBaseFromEsMap
(
hit
.
getSourceAsMap
())).
collect
(
Collectors
.
toList
());
// 开启去重
if
(
Boolean
.
TRUE
.
equals
(
config
.
getDuplicate
()))
{
...
...
src/main/java/com/zhiwei/brandkbs2/util/Tools.java
View file @
e37fd833
...
...
@@ -852,6 +852,9 @@ public class Tools {
}
public
static
boolean
isContains
(
String
keyword
,
String
content
)
{
if
(
null
==
keyword
)
{
return
true
;
}
return
isContains
(
Arrays
.
asList
(
keyword
.
split
(
"\\|"
)),
content
);
}
...
...
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