Commit c8235489 by shenjunjie

Merge branch 'release' into 'master'

Release

See merge request !264
parents a2972503 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 boolQueryBuilder = QueryBuilders.boolQuery();
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);
}
}
}
......@@ -74,6 +74,8 @@ public class BaseMap {
private Double channelEmotionIndex;
private String channelTag;
/**
* 当标题为空时用文本截取前20个字代替
*
......
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())) {
......
......@@ -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()) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment