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
3c3bec1b
Commit
3c3bec1b
authored
Mar 23, 2023
by
shenjunjie
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature' into 'release'
渠道预警-渠道标签统一为全局模块 See merge request
!263
parents
932f1e2b
26963056
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
51 additions
and
36 deletions
+51
-36
src/main/java/com/zhiwei/brandkbs2/es/EsQueryTools.java
+37
-32
src/main/java/com/zhiwei/brandkbs2/pojo/BaseMap.java
+2
-0
src/main/java/com/zhiwei/brandkbs2/pojo/external/BaseMapCompound.java
+8
-4
src/main/java/com/zhiwei/brandkbs2/util/Tools.java
+4
-0
No files found.
src/main/java/com/zhiwei/brandkbs2/es/EsQueryTools.java
View file @
3c3bec1b
...
...
@@ -114,43 +114,29 @@ public class EsQueryTools {
nestedBoolBuilder
.
must
(
QueryBuilders
.
termQuery
(
"brandkbs_cache_maps.channel_emotion"
,
channelEmotion
));
}
boolQueryBuilder
.
must
(
cacheMapsNestedQuery
(
nestedBoolBuilder
));
// 其他字段
if
(
CollectionUtils
.
isNotEmpty
(
mediaTypes
))
{
BoolQueryBuilder
mediaTypesBoolQueryBuilder
=
QueryBuilders
.
boolQuery
();
for
(
String
mediaType
:
mediaTypes
)
{
BoolQueryBuilder
mediaTypeBoolQueryBuilder
=
QueryBuilders
.
boolQuery
();
//其他
if
(
ImportantChannelEnum
.
QITA
.
getState
().
equals
(
mediaType
))
{
for
(
String
tag
:
ImportantChannelEnum
.
getAllTagExceptSpec
())
{
mediaTypeBoolQueryBuilder
.
mustNot
(
QueryBuilders
.
matchQuery
(
"channel_tag"
,
tag
));
}
}
else
{
mediaTypeBoolQueryBuilder
.
must
(
QueryBuilders
.
matchQuery
(
"channel_tag"
,
mediaType
));
}
mediaTypesBoolQueryBuilder
.
should
(
mediaTypeBoolQueryBuilder
);
}
boolQueryBuilder
.
must
(
mediaTypesBoolQueryBuilder
);
}
// mediaTypes
addMediaTypes
(
mediaTypes
,
boolQueryBuilder
);
return
boolQueryBuilder
;
}
public
static
BoolQueryBuilder
assembleCacheMapsQueryWithProject
(
String
projectId
,
List
<
String
>
mediaTypes
)
{
BoolQueryBuilder
nestedBoolQueryBuilder
=
QueryBuilders
.
boolQuery
();
TermQueryBuilder
mustQuery
=
QueryBuilders
.
termQuery
(
"brandkbs_cache_maps.project_id.keyword"
,
projectId
);
if
(
CollectionUtils
.
isEmpty
(
mediaTypes
))
{
// 不组装mediaTypes的情况
nestedBoolQueryBuilder
.
must
(
cacheMapsNestedQuery
(
mustQuery
));
}
else
{
BoolQueryBuilder
boolQueryBuilder
=
QueryBuilders
.
boolQuery
();
mediaTypes
.
forEach
(
e
->
{
BoolQueryBuilder
mediaTypeQueryBuilder
=
QueryBuilders
.
boolQuery
();
mediaTypeQueryBuilder
.
must
(
QueryBuilders
.
termQuery
(
"brandkbs_cache_maps.channel_type.keyword"
,
e
));
mediaTypeQueryBuilder
.
must
(
mustQuery
);
boolQueryBuilder
.
should
(
cacheMapsNestedQuery
(
mediaTypeQueryBuilder
));
});
nestedBoolQueryBuilder
.
must
(
boolQueryBuilder
);
}
return
nestedBoolQueryBuilder
;
BoolQueryBuilder
nestedBoolBuilder
=
QueryBuilders
.
boolQuery
();
// 必要条件
nestedBoolBuilder
.
must
(
QueryBuilders
.
termQuery
(
"brandkbs_cache_maps.project_id.keyword"
,
projectId
));
// 或需要添加其余nested字段
boolQueryBuilder
.
must
(
cacheMapsNestedQuery
(
nestedBoolBuilder
));
// mediaTypes
addMediaTypes
(
mediaTypes
,
boolQueryBuilder
);
// BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
// mediaTypes.forEach(e -> {
// BoolQueryBuilder mediaTypeQueryBuilder = QueryBuilders.boolQuery();
// mediaTypeQueryBuilder.must(QueryBuilders.termQuery("brandkbs_cache_maps.channel_type.keyword", e));
// mediaTypeQueryBuilder.must(mustQuery);
// boolQueryBuilder.should(cacheMapsNestedQuery(mediaTypeQueryBuilder));
// });
// nestedBoolQueryBuilder.must(boolQueryBuilder);
return
boolQueryBuilder
;
}
public
static
BoolQueryBuilder
assembleCacheMapsQueryExcludePrimaryId
(
String
projectId
){
...
...
@@ -351,4 +337,23 @@ public class EsQueryTools {
return
regex
.
toString
();
}
private
static
void
addMediaTypes
(
List
<
String
>
mediaTypes
,
BoolQueryBuilder
boolQueryBuilder
)
{
if
(
CollectionUtils
.
isNotEmpty
(
mediaTypes
))
{
BoolQueryBuilder
mediaTypesBoolQueryBuilder
=
QueryBuilders
.
boolQuery
();
for
(
String
mediaType
:
mediaTypes
)
{
BoolQueryBuilder
mediaTypeBoolQueryBuilder
=
QueryBuilders
.
boolQuery
();
//其他
if
(
ImportantChannelEnum
.
QITA
.
getState
().
equals
(
mediaType
))
{
for
(
String
tag
:
ImportantChannelEnum
.
getAllTagExceptSpec
())
{
mediaTypeBoolQueryBuilder
.
mustNot
(
QueryBuilders
.
matchQuery
(
"channel_tag"
,
tag
));
}
}
else
{
mediaTypeBoolQueryBuilder
.
must
(
QueryBuilders
.
matchQuery
(
"channel_tag"
,
mediaType
));
}
mediaTypesBoolQueryBuilder
.
should
(
mediaTypeBoolQueryBuilder
);
}
boolQueryBuilder
.
must
(
mediaTypesBoolQueryBuilder
);
}
}
}
src/main/java/com/zhiwei/brandkbs2/pojo/BaseMap.java
View file @
3c3bec1b
...
...
@@ -74,6 +74,8 @@ public class BaseMap {
private
Double
channelEmotionIndex
;
private
String
channelTag
;
/**
* 当标题为空时用文本截取前20个字代替
*
...
...
src/main/java/com/zhiwei/brandkbs2/pojo/external/BaseMapCompound.java
View file @
3c3bec1b
package
com
.
zhiwei
.
brandkbs2
.
pojo
.
external
;
import
com.zhiwei.base.category.ClassB
;
import
com.zhiwei.brandkbs2.common.GlobalPojo
;
import
com.zhiwei.brandkbs2.pojo.BaseMap
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
/**
...
...
@@ -33,9 +33,13 @@ public class BaseMapCompound {
// 情感倾向
// tagList.add(baseMap.getEmotion());
// 媒体类型
String
mediaType
=
GlobalPojo
.
getMediaType
(
projectId
,
baseMap
.
getPlatform
(),
baseMap
.
getSource
());
if
(
null
!=
mediaType
)
{
tagList
.
add
(
mediaType
);
// String mediaType = GlobalPojo.getMediaType(projectId, baseMap.getPlatform(), baseMap.getSource());
// if (null != mediaType) {
// tagList.add(mediaType);
// }
String
channelTag
=
baseMap
.
getChannelTag
();
if
(
null
!=
channelTag
)
{
tagList
.
addAll
(
Arrays
.
asList
(
channelTag
.
split
(
","
)));
}
// 仅针对微博平台的 原创/转发 标签
if
(
ClassB
.
TypeB
.
INCOMPLETE
.
equals
(
baseMap
.
getTypeB
()))
{
...
...
src/main/java/com/zhiwei/brandkbs2/util/Tools.java
View file @
3c3bec1b
...
...
@@ -334,6 +334,10 @@ public class Tools {
res
.
setRealSource
(
String
.
valueOf
(
map
.
get
(
GenericAttribute
.
ES_REAL_SOURCE
)));
res
.
setPlatform
(
getPlatform
(
map
));
res
.
setEmotion
(
getEmotion
(
map
));
Object
channelTagObj
=
map
.
get
(
"channel_tag"
);
if
(
null
!=
channelTagObj
)
{
res
.
setChannelTag
(
channelTagObj
.
toString
());
}
int
c5
=
Integer
.
parseInt
(
String
.
valueOf
(
map
.
get
(
GenericAttribute
.
ES_C5
)));
// 单独设置属性title,content 部分url
switch
(
res
.
getTypeB
())
{
...
...
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