From be52360c4814a5e5bce2341edadd385c1336c237 Mon Sep 17 00:00:00 2001
From: sunty <1172534965@qq.com>
Date: 星期四, 18 七月 2019 10:44:58 +0800
Subject: [PATCH] fix analyServerId
---
esutil/EsApi.go | 109 ++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 85 insertions(+), 24 deletions(-)
diff --git a/esutil/EsApi.go b/esutil/EsApi.go
index 8be8c68..0cdc863 100644
--- a/esutil/EsApi.go
+++ b/esutil/EsApi.go
@@ -2,18 +2,41 @@
import (
"errors"
- "strconv"
+ "fmt"
+ "strconv"
+ "strings"
- "basic.com/pubsub/protomsg.git"
+ "basic.com/pubsub/protomsg.git"
)
// 鏌ヨ搴曞簱浜哄憳淇℃伅
-func DbPersoninfos( queryindex int, querynums int ) ([]*protomsg.Esinfo, error){
+func Personinfos( queryIndex int, queryNums int, indexName string, serverIp string, serverPort string, analyServerId string) ([]*protomsg.Esinfo, error){
var dbinfos []*protomsg.Esinfo
- point := strconv.Itoa(queryindex)
- number := strconv.Itoa(querynums)
-
- var dbinfoRequest = ` {
+ point := strconv.Itoa(queryIndex)
+ number := strconv.Itoa(queryNums)
+ JsonDSL := ""
+ if indexName == "videopersons" {
+ JsonDSL = ` {
+ "from": ` + point + `,
+ "query": {
+ "bool": {
+ "filter": [
+ {
+ "term": {
+ "analyServerId": "` + analyServerId + `"
+ }
+ }
+ ]
+ }
+ },
+ "size":`+ number +`,
+ "_source": [
+ "id",
+ "faceFeature"
+ ]
+ }`
+ }else {
+ JsonDSL = ` {
"from": ` + point + `,
"query": {
"match_all": {}
@@ -25,8 +48,9 @@
"faceFeature"
]
}`
-
- buf, err := EsReq("POST", "http://192.168.1.182:9200/dbtablepersons/dbpersons/_search",[]byte(dbinfoRequest))
+ }
+ fmt.Println("url: "+"http://"+serverIp+":"+serverPort+"/"+indexName+"/_search","body: ",JsonDSL)
+ buf, err := EsReq("POST", "http://"+serverIp+":"+serverPort+"/"+indexName+"/_search",[]byte(JsonDSL))
if err != nil {
return dbinfos ,errors.New("http request dbtablename info is err!")
}
@@ -43,21 +67,25 @@
}
// 鏍规嵁搴曞簱id鏌ヨ搴曞簱淇℃伅
-func Dbpersoninfosbyid (id string) (protomsg.Baseinfo, error) {
- var dbinfo protomsg.Baseinfo
-
+func Dbtablefosbyid (id []string, indexName string, serverIp string, serverPort string) ([]protomsg.Dbtable, error) {
+ var dbinfo []protomsg.Dbtable
+ dbtableId := strings.Replace(strings.Trim(fmt.Sprint(id), "[]"), " ", "\",\"", -1)
var dbinfoRequest = `
{
- "query":{
- "terms":{
- "_id":[
- "`+ id +`"
- ]
- }
- }
+ "query": {
+ "bool": {
+ "filter": [{
+ "terms": {
+ "id": [
+ "`+ dbtableId +`"
+ ]
+ }
+ }]
+ }
+ }
}
`
- buf, err := EsReq("POST", "http://192.168.1.182:9200/dbtablepersons/_search",[]byte(dbinfoRequest))
+ buf, err := EsReq("POST", "http://"+serverIp+":"+serverPort+"/"+indexName+"/_search",[]byte(dbinfoRequest))
if err != nil {
return dbinfo, err
}
@@ -67,13 +95,46 @@
return dbinfo , err
}
- baseinfo := Dbpersonbyid(sources)
- return baseinfo, nil
+ dbtable := Dbtablebyid(sources)
+ return dbtable, nil
}
+// 鏍规嵁搴曞簱浜哄憳id鏌ヨ搴曞簱浜哄憳淇℃伅
+func Dbpersoninfosbyid (id []string, indexName string, serverIp string, serverPort string) ([]protomsg.Dbperson, error) {
+ var dbinfo []protomsg.Dbperson
+ dbtablePersonId := strings.Replace(strings.Trim(fmt.Sprint(id), "[]"), " ", "\",\"", -1)
+ var dbinfoRequest = `
+ {
+ "query": {
+ "bool": {
+ "filter": [{
+ "terms": {
+ "id": [
+ "`+ dbtablePersonId +`"
+ ]
+ }
+ }]
+ }
+ }
+ }
+ `
+ buf, err := EsReq("POST", "http://"+serverIp+":"+serverPort+"/"+indexName+"/_search",[]byte(dbinfoRequest))
+ if err != nil {
+ return dbinfo, err
+ }
+
+ sources, err := Sourcelist(buf)
+ if err != nil {
+ return dbinfo , err
+ }
+
+ dbperson := Dbpersonbyid(sources)
+ println(dbperson)
+ return dbperson,nil
+}
// 鏍规嵁tableid 鏌ヨtablename
-func Dbtablename(tableid string ) (tablename string, err error) {
+func Dbtablename(tableid string, indexName string, serverIp string, serverPort string) (tablename string, err error) {
var dbinfotable =` {
"query": {
"bool": {
@@ -91,7 +152,7 @@
]
}
`
- buf, err := EsReq("POST", "http://192.168.1.182:9200/dbtables/_search",[]byte(dbinfotable))
+ buf, err := EsReq("POST", "http://"+serverIp+":"+serverPort+"/"+indexName+"/_search",[]byte(dbinfotable))
if err != nil {
return "" ,errors.New("http request dbtablename info is err!")
}
--
Gitblit v1.8.0