Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation
This project
Loading...
Sign in
谢明辉
/
VVAS-Match
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 08dcc635
authored
Aug 11, 2025
by
姚冰
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
[chg] 分支合并,提高效率,异步暂时关闭
1 parent
5607af53
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
101 additions
and
34 deletions
pom.xml
src/main/java/com/viontech/match/controller/MainController.java
src/main/java/com/viontech/match/entity/PersonInfo.java
src/main/java/com/viontech/match/service/PersonService.java
src/main/java/com/viontech/match/service/PoolService.java
src/main/resources/application-option.properties
pom.xml
View file @
08dcc63
...
...
@@ -43,8 +43,64 @@
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
<exclusions>
<exclusion>
<artifactId>
tomcat-embed-core
</artifactId>
<groupId>
org.apache.tomcat.embed
</groupId>
</exclusion>
<exclusion>
<artifactId>
tomcat-embed-el
</artifactId>
<groupId>
org.apache.tomcat.embed
</groupId>
</exclusion>
<exclusion>
<artifactId>
tomcat-embed-websocket
</artifactId>
<groupId>
org.apache.tomcat.embed
</groupId>
</exclusion>
<exclusion>
<artifactId>
spring-web
</artifactId>
<groupId>
org.springframework
</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>
org.apache.tomcat.embed
</groupId>
<artifactId>
tomcat-embed-core
</artifactId>
<version>
10.1.43
</version>
<scope>
compile
</scope>
<exclusions>
<exclusion>
<groupId>
org.apache.tomcat
</groupId>
<artifactId>
tomcat-annotations-api
</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>
org.apache.tomcat.embed
</groupId>
<artifactId>
tomcat-embed-el
</artifactId>
<version>
10.1.43
</version>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
org.apache.tomcat.embed
</groupId>
<artifactId>
tomcat-embed-websocket
</artifactId>
<version>
10.1.43
</version>
<scope>
compile
</scope>
<exclusions>
<exclusion>
<groupId>
org.apache.tomcat
</groupId>
<artifactId>
tomcat-annotations-api
</artifactId>
</exclusion>
<exclusion>
<artifactId>
tomcat-embed-core
</artifactId>
<groupId>
org.apache.tomcat.embed
</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<artifactId>
spring-web
</artifactId>
<groupId>
org.springframework
</groupId>
<version>
6.2.8
</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.elasticsearch.client</groupId>-->
<!-- <artifactId>elasticsearch-rest-high-level-client</artifactId>-->
...
...
@@ -74,6 +130,7 @@
<dependency>
<groupId>
org.apache.commons
</groupId>
<artifactId>
commons-lang3
</artifactId>
<version>
3.18.0
</version>
</dependency>
<dependency>
...
...
src/main/java/com/viontech/match/controller/MainController.java
View file @
08dcc63
...
...
@@ -47,12 +47,12 @@ public class MainController {
case
MatchPerson:
ResponseVo
matchPerson
=
personService
.
matchPerson
(
requestVo
);
if
(
matchPerson
.
getMatchBodies
()
!=
null
&&
matchPerson
.
getMatchBodies
().
size
()
>
0
)
{
requestVo
.
getPerson
().
setPersonId
(
matchPerson
.
getMatchBodies
().
get
(
0
).
getPersonId
());
}
else
if
(
matchPerson
.
getMatchPersons
()
!=
null
&&
matchPerson
.
getMatchPersons
().
size
()
>
0
)
{
requestVo
.
getPerson
().
setPersonId
(
matchPerson
.
getMatchPersons
().
get
(
0
).
getPersonId
());
}
poolService
.
asyncModifyPool
(
requestVo
.
getPersonPoolId
(),
requestVo
.
getPerson
());
//
if (matchPerson.getMatchBodies() != null && matchPerson.getMatchBodies().size() > 0) {
//
requestVo.getPerson().setPersonId(matchPerson.getMatchBodies().get(0).getPersonId());
//
} else if(matchPerson.getMatchPersons() != null && matchPerson.getMatchPersons().size() > 0) {
//
requestVo.getPerson().setPersonId(matchPerson.getMatchPersons().get(0).getPersonId());
//
}
//
poolService.asyncModifyPool(requestVo.getPersonPoolId(), requestVo.getPerson());
return
matchPerson
;
case
UpdatePerson:
return
personService
.
updatePerson
(
requestVo
);
...
...
src/main/java/com/viontech/match/entity/PersonInfo.java
View file @
08dcc63
...
...
@@ -10,15 +10,15 @@ import java.util.Date;
public
class
PersonInfo
{
private
String
unid
;
private
String
personId
;
private
String
_score
;
//
private String _score;
private
Double
[]
body
;
private
Double
[]
data
;
private
Integer
age
;
private
String
gender
;
private
Integer
bodyType
;
//
private Integer bodyType;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
counttime
;
private
String
fid
;
//
private String fid;
private
String
channelSerialNum
;
private
Long
gateId
;
private
String
direction
;
...
...
@@ -32,13 +32,13 @@ public class PersonInfo {
this
.
data
=
data
;
this
.
age
=
age
;
this
.
gender
=
gender
;
this
.
bodyType
=
bodyType
;
//
this.bodyType = bodyType;
this
.
counttime
=
countTime
;
this
.
fid
=
fid
;
//
this.fid = fid;
this
.
channelSerialNum
=
channelSerialNum
;
this
.
gateId
=
gateId
;
this
.
direction
=
direction
;
this
.
_score
=
"1"
;
//
this._score = "1";
this
.
mallId
=
mallId
;
}
}
src/main/java/com/viontech/match/service/PersonService.java
View file @
08dcc63
...
...
@@ -5,16 +5,9 @@ import co.elastic.clients.elasticsearch._types.*;
import
co.elastic.clients.elasticsearch._types.aggregations.*
;
import
co.elastic.clients.elasticsearch._types.query_dsl.*
;
import
co.elastic.clients.elasticsearch.core.*
;
import
co.elastic.clients.elasticsearch.core.bulk.BulkOperation
;
import
co.elastic.clients.elasticsearch.core.bulk.IndexOperation
;
import
co.elastic.clients.elasticsearch.core.knn_search.KnnSearchQuery
;
import
co.elastic.clients.elasticsearch.core.search.Hit
;
import
co.elastic.clients.elasticsearch.core.search.HitsMetadata
;
import
co.elastic.clients.elasticsearch.core.search.SourceConfig
;
import
co.elastic.clients.elasticsearch.indices.DeleteIndexResponse
;
import
co.elastic.clients.elasticsearch.ingest.simulate.Document
;
import
co.elastic.clients.json.JsonData
;
import
co.elastic.clients.elasticsearch.ElasticsearchClient
;
import
co.elastic.clients.elasticsearch._types.aggregations.Aggregation
;
import
co.elastic.clients.elasticsearch._types.aggregations.AggregationBuilders
;
import
co.elastic.clients.elasticsearch._types.query_dsl.BoolQuery
;
...
...
@@ -27,7 +20,6 @@ import com.viontech.keliu.model.FaceFeature;
import
com.viontech.keliu.model.Person
;
import
com.viontech.keliu.model.Pool
;
import
com.viontech.match.config.Constant
;
import
com.viontech.match.entity.PersonInfo
;
import
com.viontech.match.entity.SearchResultHit
;
import
com.viontech.match.entity.vo.RequestVo
;
import
com.viontech.match.entity.vo.ResponseVo
;
...
...
@@ -35,7 +27,6 @@ import com.viontech.match.util.Utils;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.elasticsearch.client.RequestOptions
;
import
org.springframework.stereotype.Service
;
import
jakarta.annotation.Resource
;
...
...
src/main/java/com/viontech/match/service/PoolService.java
View file @
08dcc63
...
...
@@ -18,6 +18,7 @@ import com.viontech.match.entity.PoolInfo;
import
com.viontech.match.entity.vo.RequestVo
;
import
com.viontech.match.entity.vo.ResponseVo
;
import
com.viontech.match.runner.ILM
;
import
jakarta.annotation.Resource
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -31,8 +32,7 @@ import org.springframework.scheduling.annotation.Async;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Service
;
import
jakarta.annotation.Resource
;
import
java.io.ByteArrayInputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.util.*
;
...
...
@@ -68,6 +68,15 @@ public class PoolService {
@Value
(
"${vion.index.merge.scheduler.max_thread_count}"
)
private
Integer
mergeThreadCount
;
@Value
(
"${vion.index.options.type:int8_hnsw}"
)
private
String
indexOptionType
;
@Value
(
"${vion.index.options.m:16}"
)
private
Integer
indexOptionM
;
@Value
(
"${vion.index.options.efConstruction:100}"
)
private
Integer
indexOptionEfConstruction
;
@Value
(
"${vion.index.options.confidenceInterval:0.99f}"
)
private
Float
indexOptionConfidenceInterval
;
private
final
static
ConcurrentMap
<
String
,
Boolean
>
poolMap
=
new
ConcurrentHashMap
<>();
/**
...
...
@@ -255,7 +264,7 @@ public class PoolService {
return
;
}
try
{
BulkResponse
bulkItemResponses
=
personService
.
addPerson
(
poolId
,
Arrays
.
asList
(
person
));
BulkResponse
bulkItemResponses
=
person
Pool
Service
.
addPerson
(
poolId
,
Arrays
.
asList
(
person
));
if
(
bulkItemResponses
!=
null
&&
bulkItemResponses
.
errors
())
{
log
.
info
(
bulkItemResponses
.
items
().
toString
());
}
else
if
(
bulkItemResponses
==
null
)
{
...
...
src/main/resources/application-option.properties
View file @
08dcc63
...
...
@@ -3,14 +3,16 @@ server.port=12000
spring.jackson.time-
zone
=
GMT+8
spring.jackson.date-
format
=
yyyy-MM-dd HH:mm:ss
#es
#spring.elasticsearch.rest.uris=http://182.92.184.40:9200
spring.elasticsearch.uris
=
http://39.155.171.242:9201
spring.elasticsearch.username
=
elastic
spring.elasticsearch.password
=
vion2021
spring.elasticsearch.socketTimeout
=
5000
spring.elasticsearch.ioThreadCount
=
20
spring.elasticsearch.maxConnTotal
=
100
spring.elasticsearch.maxConnPerRoute
=
20
#spring.elasticsearch.rest.uris=http://182.92.184.40:9205
#spring.elasticsearch.rest.uris=http://192.168.1.64:9200
#spring.elasticsearch.rest.uris=http://10.0.14.26:9200
spring.elasticsearch.rest.uris
=
http://127.0.0.1:9200
spring.elasticsearch.rest.username
=
elastic
spring.elasticsearch.rest.password
=
0Qqkw1X2gMR6OZ+GxcUn
spring.elasticsearch.rest.socketTimeout
=
5000
spring.elasticsearch.rest.ioThreadCount
=
20
spring.elasticsearch.rest.maxConnTotal
=
100
spring.elasticsearch.rest.maxConnPerRoute
=
20
#\u5206\u7247\u6570\u91CF
vion.index.number_of_shards
=
1
#\u526F\u672C\u6570\u91CF
...
...
@@ -24,4 +26,12 @@ vion.index.merge.scheduler.max_thread_count=1
#delete-pool-after-days\u51E0\u5929\u540E\u5220\u9664\u5929\u6570\u914D\u7F6E
delete.after.days
=
5
logging.level.com.viontech.match
=
info
\ No newline at end of file
logging.level.com.viontech.match
=
info
#default int8_hnsw
vion.index.options.type
=
int8_hnsw
#default 16
vion.index.options.m
=
16
#default 100
vion.index.options.efConstruction
=
100
#default 0.99f
vion.index.options.confidenceInterval
=
1.0f
Write
Preview
Markdown
is supported
Attach a file
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 post a comment