Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
suggest-task
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
田川
suggest-task
Commits
bca1a519
Unverified
Commit
bca1a519
authored
Oct 14, 2020
by
David Star
Committed by
GitHub
Oct 14, 2020
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1 from yanchaosb123/rank_opt
算分优化
parents
a59ff1f5
33b7d636
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
99 additions
and
19 deletions
+99
-19
suggest-task-dependency.go
main/suggest-task-dependency.go
+77
-7
suggest-task.go
main/suggest-task.go
+0
-0
test.go
main/test.go
+22
-12
No files found.
main/suggest-task-dependency.go
View file @
bca1a519
package
main
package
main
import
(
import
(
"strings"
"net/http"
"time"
"encoding/json"
"bytes"
"io/ioutil"
"container/list"
"strings"
"github.com/mozillazg/go-pinyin"
"github.com/mozillazg/go-pinyin"
"fmt"
"strconv"
"strconv"
"fmt"
)
)
type
ENV
struct
{
type
ENV
struct
{
...
@@ -16,6 +22,13 @@ type ENV struct {
...
@@ -16,6 +22,13 @@ type ENV struct {
ManualFolder
string
ManualFolder
string
SensitiveFolder
string
SensitiveFolder
string
}
}
type
Message
struct
{
Title
string
Phones
*
list
.
List
Body
*
list
.
List
}
var
test_env
=
&
ENV
{
var
test_env
=
&
ENV
{
DataWareDB
:
"DataWarehouse_test:FihdZW7o1XKtDETZexOG@tcp(test01-secooDataWarehouse.master.com:3306)/secooDataWarehouse"
,
DataWareDB
:
"DataWarehouse_test:FihdZW7o1XKtDETZexOG@tcp(test01-secooDataWarehouse.master.com:3306)/secooDataWarehouse"
,
ErpDB
:
"3306_test:iS6CXpYqgZ8Mhjui@tcp(10.4.3.223:3306)/secooErpDB"
,
ErpDB
:
"3306_test:iS6CXpYqgZ8Mhjui@tcp(10.4.3.223:3306)/secooErpDB"
,
...
@@ -37,12 +50,28 @@ var prod_env = &ENV {
...
@@ -37,12 +50,28 @@ var prod_env = &ENV {
SensitiveFolder
:
"/data/pssmaster/corpus_set/suggest_corpus/sensitive"
}
SensitiveFolder
:
"/data/pssmaster/corpus_set/suggest_corpus/sensitive"
}
// 重要,该参数 确定是 正式还是 测试环境
// 重要,该参数 确定是 正式还是 测试环境
var
RUN_ENV
=
test
_env
var
RUN_ENV
=
prod
_env
/************************* 下面是 util 方法 *****************************/
/************************* 下面是 util 方法 *****************************/
var
CH_EN_PUNC
=
map
[
string
]
string
{
","
:
","
,
"。"
:
"."
,
"!"
:
"!"
,
"?"
:
"?"
,
"【"
:
"["
,
"】"
:
"]"
,
"("
:
"("
,
")"
:
")"
,
"‘"
:
"'"
,
"’"
:
"'"
,
"“"
:
"
\"
"
,
"”"
:
"
\"
"
,
}
func
convertToPinyin
(
str
string
)
string
{
func
convertToPinyin
(
str
string
)
string
{
var
ret
string
var
ret
string
for
_
,
v
:=
range
str
{
for
_
,
v
:=
range
str
{
...
@@ -62,7 +91,7 @@ func convertToPinyin(str string) string {
...
@@ -62,7 +91,7 @@ func convertToPinyin(str string) string {
func
cleanKeyword
(
keyword
string
)
string
{
func
cleanKeyword
(
keyword
string
)
string
{
out
,
err
:=
t2s
.
Convert
(
keyword
)
out
,
err
:=
t2s
.
Convert
(
keyword
)
if
err
!=
nil
{
fmt
.
Println
(
err
)
}
if
err
!=
nil
{
fmt
.
Println
(
err
)
}
keyword
=
strings
.
ToLower
(
strings
.
Trim
(
DBC2SBC
(
strings
.
TrimSpace
(
out
)),
"
\ufffc
|,"
))
keyword
=
strings
.
ToLower
(
strings
.
Trim
(
DBC2SBC
(
strings
.
TrimSpace
(
out
)),
"
\ufffc
|,
|.
"
))
return
strings
.
Join
(
strings
.
Fields
(
keyword
),
" "
)
return
strings
.
Join
(
strings
.
Fields
(
keyword
),
" "
)
}
}
...
@@ -78,16 +107,58 @@ func DBC2SBC(s string) string {
...
@@ -78,16 +107,58 @@ func DBC2SBC(s string) string {
var
strLst
[]
string
var
strLst
[]
string
for
_
,
i
:=
range
s
{
for
_
,
i
:=
range
s
{
insideCode
:=
i
insideCode
:=
i
if
insideCode
==
12288
{
if
insideCode
==
12288
{
insideCode
=
32
insideCode
=
32
}
else
{
}
else
{
insideCode
-=
65248
insideCode
-=
65248
}
}
if
insideCode
<
32
||
insideCode
>
126
{
if
key
,
exist
:=
CH_EN_PUNC
[
string
(
i
)];
exist
{
strLst
=
append
(
strLst
,
key
)
}
else
if
insideCode
<
32
||
insideCode
>
126
{
strLst
=
append
(
strLst
,
string
(
i
))
strLst
=
append
(
strLst
,
string
(
i
))
}
else
{
}
else
{
strLst
=
append
(
strLst
,
string
(
insideCode
))
strLst
=
append
(
strLst
,
string
(
insideCode
))
}
}
}
}
return
strings
.
Join
(
strLst
,
""
)
return
strings
.
Join
(
strLst
,
""
)
}
}
\ No newline at end of file
// 发送POST请求
// url: 请求地址
// data: POST请求提交的数据
// contentType: 请求体格式,如:application/json
func
Post
(
url
string
,
data
interface
{},
contentType
string
)
string
{
// 超时时间:5秒
client
:=
&
http
.
Client
{
Timeout
:
5
*
time
.
Second
}
jsonStr
,
_
:=
json
.
Marshal
(
data
)
resp
,
err
:=
client
.
Post
(
url
,
contentType
,
bytes
.
NewBuffer
(
jsonStr
))
if
err
!=
nil
{
panic
(
err
)
}
defer
resp
.
Body
.
Close
()
result
,
_
:=
ioutil
.
ReadAll
(
resp
.
Body
)
return
string
(
result
)
}
func
sendSuggestNotify
()
{
msg
:=
Message
{
Title
:
"提示词数据异常"
,
}
body
:=
list
.
New
()
body
.
PushBack
(
"提示词数据太少"
)
msg
.
Body
=
body
phones
:=
list
.
New
()
phones
.
PushBack
(
"17621863255,13894895183"
)
msg
.
Phones
=
phones
Post
(
"http://matrix-inform.secoolocal.com/user/sendToUser"
,
msg
,
"application/json"
)
}
main/suggest-task.go
View file @
bca1a519
This diff is collapsed.
Click to expand it.
main/test.go
View file @
bca1a519
package
main
package
main
import
(
import
(
"encoding/json"
"math"
"strings"
"fmt"
"fmt"
)
)
...
@@ -13,20 +14,29 @@ type B struct {
...
@@ -13,20 +14,29 @@ type B struct {
YearCartCount
int32
`json:"yearCartCount"`
YearCartCount
int32
`json:"yearCartCount"`
ZhaoCount
int32
`json:"-"`
ZhaoCount
int32
`json:"-"`
}
}
func
main
()
{
func
main
()
{
b
:=
B
{
Keyword
:
"赵延超"
,
prefix
:=
strings
.
HasPrefix
(
"tod's"
,
"tod's"
)
KeywordPinYin
:
"zhaoyanchao"
,
fmt
.
Print
(
prefix
)
YearCount
:
1000
,
YearCartCount
:
100
,
}
YearClickCount
:
10
,
ZhaoCount
:
2
}
func
calculateRatioFactor2
(
ratio
float64
,
count
int32
)
float64
{
if
jsonBytes
,
errs
:=
json
.
Marshal
(
b
);
errs
==
nil
{
var
rank
float64
fmt
.
Print
(
string
(
jsonBytes
))
switch
{
case
count
>
1
&&
count
<
10
:
rank
=
1.2
case
count
>=
10
&&
count
<
20
:
rank
=
1.4
case
count
>=
20
&&
count
<
50
:
rank
=
1.6
case
count
>=
50
&&
count
<
100
:
rank
=
1.8
case
count
>=
100
&&
count
<
200
:
rank
=
2.0
case
count
>=
200
&&
count
<
500
:
rank
=
2.2
case
count
>=
500
:
rank
=
2.5
default
:
rank
=
1.0
}
}
//根据搜索转化率,转换为热度因子
return
math
.
Log10
(
math
.
Sqrt
(
ratio
+
10
))
*
rank
}
}
...
...
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