Commit 3bd562f2 by 姚冰

[chg] es8合并索引

1 parent 1c4ec01c
...@@ -49,6 +49,12 @@ public class MainController { ...@@ -49,6 +49,12 @@ public class MainController {
return personService.updatePerson(requestVo); return personService.updatePerson(requestVo);
case CountMatchPerson: case CountMatchPerson:
return personService.countMatchPerson(requestVo); return personService.countMatchPerson(requestVo);
case DelPoolData:
return poolService.deletePoolData(requestVo);
case DelStaffPoolData:
return poolService.deleteStaffPoolData(requestVo);
case UpdateStaff:
return personService.updateStaff(requestVo);
default: default:
return ResponseVo.commandNotFound(rid); return ResponseVo.commandNotFound(rid);
} }
......
...@@ -23,7 +23,9 @@ public class PersonInfo { ...@@ -23,7 +23,9 @@ public class PersonInfo {
private Long gateId; private Long gateId;
private String direction; private String direction;
public PersonInfo(String unid, String personId, Double[] body,Double[] data, Integer age, String gender, Integer bodyType, Date countTime, String fid, String channelSerialNum, Long gateId, String direction) { private Long mallId;
public PersonInfo(String unid, String personId, Double[] body,Double[] data, Integer age, String gender, Integer bodyType, Date countTime, String fid, String channelSerialNum, Long gateId, String direction, Long mallId) {
this.unid = unid; this.unid = unid;
this.personId = personId; this.personId = personId;
this.body = body; this.body = body;
...@@ -37,5 +39,6 @@ public class PersonInfo { ...@@ -37,5 +39,6 @@ public class PersonInfo {
this.gateId = gateId; this.gateId = gateId;
this.direction = direction; this.direction = direction;
this._score = "1"; this._score = "1";
this.mallId = mallId;
} }
} }
...@@ -16,7 +16,7 @@ public class SearchResultHit { ...@@ -16,7 +16,7 @@ public class SearchResultHit {
private String _score; private String _score;
private Integer age; private Integer age;
private String gender; private String gender;
private Integer bodyType; private Integer body_type;
// @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS") // @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS")
private String counttime; private String counttime;
private String fid; private String fid;
......
...@@ -67,6 +67,10 @@ public class RequestVo { ...@@ -67,6 +67,10 @@ public class RequestVo {
//暂时无用 //暂时无用
private FaceFeature newFaceFeature; private FaceFeature newFaceFeature;
private Long mallId;
private List<String> fidList;
public void setPoolId(String poolId) { public void setPoolId(String poolId) {
this.poolId = poolId.toLowerCase(); this.poolId = poolId.toLowerCase();
} }
......
...@@ -14,5 +14,8 @@ public enum CommandEnum { ...@@ -14,5 +14,8 @@ public enum CommandEnum {
QueryPersonPool, QueryPersonPool,
MatchPerson, MatchPerson,
UpdatePerson, UpdatePerson,
CountMatchPerson CountMatchPerson,
DelPoolData,
DelStaffPoolData,
UpdateStaff;
} }
...@@ -87,19 +87,15 @@ public class PoolService { ...@@ -87,19 +87,15 @@ public class PoolService {
.numberOfReplicas(String.valueOf(replicas)); .numberOfReplicas(String.valueOf(replicas));
if (StringUtils.isNotEmpty(translogDurability)) { if (StringUtils.isNotEmpty(translogDurability)) {
settings.translog(t -> t.durability(TranslogDurability.Async)); settings.translog(t -> t.durability(TranslogDurability.Async));
// setting.put("index.translog.durability", translogDurability);
if (StringUtils.isNotEmpty(translogSyncInterval)) { if (StringUtils.isNotEmpty(translogSyncInterval)) {
settings.translog(t -> t.syncInterval(i -> i.time(translogSyncInterval))); settings.translog(t -> t.syncInterval(i -> i.time(translogSyncInterval)));
// setting.put("index.translog.sync_interval", translogSyncInterval);
} }
} }
if (mergeThreadCount != null) { if (mergeThreadCount != null) {
// setting.put("index.merge.scheduler.max_thread_count", mergeThreadCount);
settings.merge(m -> m.scheduler(s -> s.maxThreadCount(mergeThreadCount))); settings.merge(m -> m.scheduler(s -> s.maxThreadCount(mergeThreadCount)));
} }
if (requestVo.isUseILMPolicy()) { if (requestVo.isUseILMPolicy()) {
// setting.put("index.lifecycle.name", ILM.LIFECYCLE_NAME);
settings.lifecycle(l -> l.name(ILM.LIFECYCLE_NAME)); settings.lifecycle(l -> l.name(ILM.LIFECYCLE_NAME));
} }
...@@ -166,6 +162,46 @@ public class PoolService { ...@@ -166,6 +162,46 @@ public class PoolService {
} }
} }
public ResponseVo deletePoolData(RequestVo requestVo) throws Exception {
String rid = requestVo.getRid();
Integer flushPool = requestVo.getFlushPool();
String poolId = requestVo.getPoolId();
Long mallId = requestVo.getMallId();
log.info("特征池删除mallId:{}数据操作开始:[{}]", mallId,poolId);
try {
personService.deletePersonByMallId(poolId, mallId);
log.info("特征池删除mallId:{}操作完成:[{}]", mallId, poolId);
return ResponseVo.success(rid);
} catch (ElasticsearchException e) {
if (e.status() == 404) {
return ResponseVo.poolIdNotExists(rid);
} else {
return ResponseVo.error(rid, e.getMessage());
}
}
}
public ResponseVo deleteStaffPoolData(RequestVo requestVo) throws Exception {
String rid = requestVo.getRid();
Integer flushPool = requestVo.getFlushPool();
String poolId = requestVo.getPoolId();
List<String> fidList = requestVo.getFidList();
log.info("店员特征池删除数据操作开始:[{}]",poolId);
try {
personService.deletePersonByFid(poolId, fidList);
log.info("店员特征池删除操作完成:[{}]",poolId);
return ResponseVo.success(rid);
} catch (ElasticsearchException e) {
if (e.status() == 404) {
return ResponseVo.poolIdNotExists(rid);
} else {
return ResponseVo.error(rid, e.getMessage());
}
}
}
/** /**
* 修改特征池(添加人员) * 修改特征池(添加人员)
* *
...@@ -243,73 +279,22 @@ public class PoolService { ...@@ -243,73 +279,22 @@ public class PoolService {
public TypeMapping.Builder getCreateIndexContentBuilder() throws IOException { public TypeMapping.Builder getCreateIndexContentBuilder() throws IOException {
// JSONObject content = new JSONObject(); Map<String, Property> properties = new HashMap<>();
// JSONObject properties = new JSONObject(); properties.put("direction", new Property.Builder().keyword(k -> k.index(true)).build());
// JSONObject data = new JSONObject(); properties.put("fid", new Property.Builder().text(t -> t.index(true)).build());
// data.put("type", "dense_vector"); properties.put("gateId", new Property.Builder().long_(t -> t.index(true)).build());
// data.put("dims", Constant.FACE_FEATURE_DIMS); properties.put("personId", new Property.Builder().keyword(k -> k.index(true)).build());
// JSONObject body = new JSONObject(); properties.put("body", new Property.Builder().denseVector(d -> d.dims(Constant.BODY_FEATURE_DIMS_2048).similarity("cosine")).build());
// body.put("type", "dense_vector"); properties.put("data", new Property.Builder().denseVector(d -> d.dims(Constant.FACE_FEATURE_DIMS).similarity("cosine")).build());
// body.put("dims", Constant.BODY_FEATURE_DIMS_2048); properties.put("body_type", new Property.Builder().integer(i -> i.index(false).docValues(false)).build());
// JSONObject personId = new JSONObject(); properties.put("channelSerialNum", new Property.Builder().keyword(k -> k.index(true)).build());
// personId.put("type", "keyword"); properties.put("age", new Property.Builder().integer(i -> i.index(false).docValues(false)).build());
// properties.put("gender", new Property.Builder().keyword(k -> k.index(false).docValues(false)).build());
// JSONObject unid = new JSONObject(); properties.put("counttime", new Property.Builder().date(d -> d.format("yyyy-MM-dd HH:mm:ss")).build());
// unid.put("type", "keyword"); properties.put("unid", new Property.Builder().keyword(k -> k.index(true)).build());
// JSONObject fid = new JSONObject(); properties.put("mallId", new Property.Builder().keyword(k -> k.index(true)).build());
// fid.put("type", "text");
// JSONObject age = new JSONObject();
// age.put("type", "integer");
// age.put("doc_values", false);
// age.put("index", false);
// JSONObject gender = new JSONObject();
// gender.put("type", "keyword");
// gender.put("doc_values", false);
// gender.put("index", false);
// JSONObject counttime = new JSONObject();
// counttime.put("type", "date");
// counttime.put("format", "yyyy-MM-dd HH:mm:ss");
// JSONObject channelSerialNum = new JSONObject();
// channelSerialNum.put("type", "keyword");
// JSONObject body_type = new JSONObject();
// body_type.put("type", "integer");
// body_type.put("doc_values", false);
// body_type.put("index", false);
// JSONObject direction = new JSONObject();
// direction.put("type", "keyword");
// JSONObject gateId = new JSONObject();
// gateId.put("type", "long");
// properties.put("data", data);
// properties.put("body", body);
// properties.put("personId", personId);
// properties.put("unid", unid);
// properties.put("fid", fid);
// properties.put("age", age);
// properties.put("gender", gender);
// properties.put("counttime", counttime);
// properties.put("channelSerialNum", channelSerialNum);
// properties.put("body_type", body_type);
// properties.put("gateId", gateId);
// properties.put("direction", direction);
//
// InputStream is = new ByteArrayInputStream(properties.toJSONString().getBytes());
Map<String, Property> properties1 = new HashMap<>();
properties1.put("direction", new Property.Builder().keyword(k -> k.index(true)).build());
properties1.put("fid", new Property.Builder().text(t -> t.index(true)).build());
properties1.put("gateId", new Property.Builder().long_(t -> t.index(true)).build());
properties1.put("personId", new Property.Builder().keyword(k -> k.index(true)).build());
properties1.put("body", new Property.Builder().denseVector(d -> d.dims(Constant.BODY_FEATURE_DIMS_2048).similarity("cosine")).build());
properties1.put("data", new Property.Builder().denseVector(d -> d.dims(Constant.FACE_FEATURE_DIMS).similarity("cosine")).build());
properties1.put("body_type", new Property.Builder().integer(i -> i.index(false).docValues(false)).build());
properties1.put("channelSerialNum", new Property.Builder().keyword(k -> k.index(true)).build());
properties1.put("age", new Property.Builder().integer(i -> i.index(false).docValues(false)).build());
properties1.put("gender", new Property.Builder().keyword(k -> k.index(false).docValues(false)).build());
properties1.put("counttime", new Property.Builder().date(d -> d.format("yyyy-MM-dd HH:mm:ss")).build());
properties1.put("unid", new Property.Builder().keyword(k -> k.index(true)).build());
// builder.properties(properties1); TypeMapping.Builder builder = new TypeMapping.Builder().properties(properties);
TypeMapping.Builder builder = new TypeMapping.Builder().properties(properties1);
return builder; return builder;
} }
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!