Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zhichan
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
蒋勇
zhichan
Commits
30ec4abc
Commit
30ec4abc
authored
Sep 23, 2020
by
任晓松
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
商标数据聚合
parent
a08584b7
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
1245 additions
and
0 deletions
+1245
-0
igirl-zcapi/app/base/api/impl/trademark/tmqueryApi.js
+173
-0
igirl-zcapi/app/base/api/impl/trademark/tmsearch.js
+1072
-0
No files found.
igirl-zcapi/app/base/api/impl/trademark/tmqueryApi.js
View file @
30ec4abc
...
@@ -2238,5 +2238,178 @@ class tmqueryApi extends ApiBase {
...
@@ -2238,5 +2238,178 @@ class tmqueryApi extends ApiBase {
}
}
return
System
.
getResult2
(
result
,
null
);
return
System
.
getResult2
(
result
,
null
);
}
}
//通过商标名来进行精准查询,商标注册地域/大类分布
async
findTrademarkNameAccuratejuhe
(
query
,
obj
){
var
result
=
{
province_counts
:[],
ncl_counts
:[]};
var
tmName
=
obj
.
tmName
==
null
?
""
:
obj
.
tmName
;
tmName
=
tmName
.
replace
(
/
[
&
\|\\\*
^%$#@
\-]
/g
,
""
);
var
data
=
{
tmName
:
tmName
};
var
tmsjuheprovince
=
await
this
.
GsbByTmSearchApi
.
tmAccuratejuheprovinceSearch
(
data
);
//根据商标province聚合
var
tmsjuhencl
=
await
this
.
GsbByTmSearchApi
.
tmAccuratejuhenclSearch
(
data
);
//根据商标ncl聚合
var
that
=
this
;
if
(
tmsjuheprovince
.
status
==
0
){
var
sum
=
0
;
var
pros
=
[];
for
(
var
i
in
tmsjuheprovince
.
buckets
){
if
(
that
.
province
.
indexOf
(
tmsjuheprovince
.
buckets
[
i
].
key
)
>=
0
){
var
ss
=
{
"province"
:
tmsjuheprovince
.
buckets
[
i
].
key
,
"count"
:
tmsjuheprovince
.
buckets
[
i
].
doc_count
}
sum
+=
tmsjuheprovince
.
buckets
[
i
].
doc_count
;
pros
.
push
(
ss
);
}
}
console
.
log
(
pros
);
for
(
var
k
=
0
;
k
<
pros
.
length
;
k
++
){
var
percent
=
parseInt
(
100
*
(
pros
[
k
].
count
/
sum
));
var
pp
=
{
"province"
:
pros
[
k
].
province
,
"count"
:
pros
[
k
].
count
,
"percent"
:
percent
+
"%"
}
result
.
province_counts
.
push
(
pp
);
}
}
if
(
tmsjuhencl
.
status
==
0
){
var
sum
=
0
;
var
ncllist
=
[];
tmsjuhencl
.
buckets
.
forEach
(
function
(
buck
){
var
ncl
=
{
"key"
:
buck
.
key
,
"keycount"
:
buck
.
doc_count
,
};
sum
+=
buck
.
doc_count
;
ncllist
.
push
(
ncl
);
});
for
(
var
k
=
0
;
k
<
ncllist
.
length
;
k
++
){
var
percent
=
parseInt
(
100
*
(
ncllist
[
k
].
keycount
/
sum
));
var
nn
=
{
"code"
:
that
.
tm_gjfl
[
ncllist
[
k
].
key
],
"count"
:
ncllist
[
k
].
keycount
,
"percent"
:
percent
+
"%"
}
result
.
ncl_counts
.
push
(
nn
);
}
}
return
System
.
getResult2
(
result
,
null
);
}
//通过商标名来进行模糊查询,商标注册地域/大类分布
async
findTrademarkNamejuhe
(
query
,
obj
){
var
result
=
{
province_counts
:[],
ncl_counts
:[]};
var
tmName
=
obj
.
tmName
==
null
?
""
:
obj
.
tmName
;
tmName
=
tmName
.
replace
(
/
[
&
\|\\\*
^%$#@
\-]
/g
,
""
);
var
js
=
"js"
;
var
bz
=
"bz"
;
var
tyc
=
""
;
var
py
=
""
;
var
xjz
=
""
;
var
dx
=
"dx"
;
var
tycdata
=
[];
var
xjzdata
=
[];
var
contain
=
"contain"
;
//按商标检索条件进行参数---'拼音', '同义词', '形近字', '换序',"左匹配","右匹配"
if
(
"同义词"
==
"同义词"
){
tyc
=
"tyc"
;
var
objd
=
{
name
:
tmName
}
var
tms
=
await
this
.
utilscontent
.
getSynonymsList
(
objd
);
if
(
tms
.
code
==
1
){
tycdata
=
tms
.
data
;
}
}
if
(
"拼音"
==
"拼音"
){
py
=
"py"
;
var
pynamelist
=
pinyin
(
tmName
,{
heteronym
:
true
,
style
:
pinyin
.
STYLE_NORMAL
,
});
var
pp
=
[];
console
.
log
(
pynamelist
);
pynamelist
.
forEach
(
function
(
c
){
pp
.
push
(
c
[
0
]);
});
var
pyname
=
pp
.
join
(
""
);
}
if
(
"形近字"
==
"形近字"
){
xjz
=
"xjz"
;
var
objd
=
{
name
:
tmName
}
var
tms
=
await
this
.
utilscontent
.
getSimilarList
(
objd
);
// console.log("--------------------------------------");
// console.log(tms.data);
if
(
tms
.
code
==
1
){
xjzdata
=
tms
.
data
;
}
}
var
data
=
{
tmName
:
tmName
,
js
:
js
,
bz
:
bz
,
tyc
:
tyc
,
tycdata
:
tycdata
,
py
:
py
,
pyname
:
pyname
,
xjz
:
xjz
,
xjzdata
:
xjzdata
,
dx
:
dx
,
contain
:
contain
};
var
tmsjuheprovince
=
await
this
.
GsbByTmSearchApi
.
tmNamejuheprovinceSearch
(
data
);
//根据商标province聚合
var
tmsjuhencl
=
await
this
.
GsbByTmSearchApi
.
tmNamejuhenclSearch
(
data
);
//根据商标ncl聚合
var
that
=
this
;
if
(
tmsjuheprovince
.
status
==
0
){
var
sum
=
0
;
var
pros
=
[];
for
(
var
i
in
tmsjuheprovince
.
buckets
){
if
(
that
.
province
.
indexOf
(
tmsjuheprovince
.
buckets
[
i
].
key
)
>=
0
){
var
ss
=
{
"province"
:
tmsjuheprovince
.
buckets
[
i
].
key
,
"count"
:
tmsjuheprovince
.
buckets
[
i
].
doc_count
}
sum
+=
tmsjuheprovince
.
buckets
[
i
].
doc_count
;
pros
.
push
(
ss
);
}
}
for
(
var
k
=
0
;
k
<
pros
.
length
;
k
++
){
var
percent
=
parseInt
(
100
*
(
pros
[
k
].
count
/
sum
));
var
pp
=
{
"province"
:
pros
[
k
].
province
,
"count"
:
pros
[
k
].
count
,
"percent"
:
percent
+
"%"
}
result
.
province_counts
.
push
(
pp
);
}
}
if
(
tmsjuhencl
.
status
==
0
){
var
sum
=
0
;
var
ncllist
=
[];
tmsjuhencl
.
buckets
.
forEach
(
function
(
buck
){
var
ncl
=
{
"key"
:
buck
.
key
,
"keycount"
:
buck
.
doc_count
,
};
sum
+=
buck
.
doc_count
;
ncllist
.
push
(
ncl
);
});
for
(
var
k
=
0
;
k
<
ncllist
.
length
;
k
++
){
var
percent
=
parseInt
(
100
*
(
ncllist
[
k
].
keycount
/
sum
));
var
nn
=
{
"code"
:
that
.
tm_gjfl
[
ncllist
[
k
].
key
],
"count"
:
ncllist
[
k
].
keycount
,
"percent"
:
percent
+
"%"
}
result
.
ncl_counts
.
push
(
nn
);
}
}
return
System
.
getResult2
(
result
,
null
);
}
}
}
module
.
exports
=
tmqueryApi
;
module
.
exports
=
tmqueryApi
;
igirl-zcapi/app/base/api/impl/trademark/tmsearch.js
View file @
30ec4abc
...
@@ -5115,5 +5115,1077 @@ class ByTmSearchApi extends ApiBase {
...
@@ -5115,5 +5115,1077 @@ class ByTmSearchApi extends ApiBase {
// }
// }
// }
// }
async tmAccuratejuheprovinceSearch(obj) {//根据商标province进行聚合
var tmName = obj.tmName == null ? "" : obj.tmName;
if (tmName == "") {
return System.getResult2(null, null);
}
var reqUrl = this.tmSearchUrl;
var params = {
"
query
": {
"
bool
": {
"
must
": []
}
},
"
aggregations
": {
"
ncl_one_codes_count
": {
"
terms
": {
"
field
": "
apply_addr_province
",
"
size
": 52,
"
order
": {
"
_count
": "
desc
"
}
}
}
}
};
if (tmName != null && tmName != "") {
var lowername = tmName.toLowerCase();
var upname = tmName.toUpperCase();
var param = {
"
terms
": {
"
tm_name
.
raw
": [lowername, upname, tmName]
}
}
params.query.bool.must.push(param)
}
var rc = System.getObject("
util
.
execClient
");
var rtn = null;
try {
rtn = await rc.execPost(params, reqUrl);
var j = JSON.parse(rtn.stdout);
return System.getResultjuhe4(j, null);
} catch (e) {
return rtn = System.getResult2(null, null);
}
}
async tmAccuratejuhenclSearch(obj) {//根据商标nclone进行聚合
var tmName = obj.tmName == null ? "" : obj.tmName;
if (tmName == "") {
return System.getResult2(null, null);
}
var reqUrl = this.tmSearchUrl;
var params = {
"
query
": {
"
bool
": {
"
must
": []
}
},
"
aggregations
": {
"
ncl_one_codes_count
": {
"
terms
": {
"
field
": "
ncl_one_codes
",
"
size
": 52,
"
order
": {
"
_count
": "
desc
"
}
}
}
}
};
if (tmName != null && tmName != "") {
var lowername = tmName.toLowerCase();
var upname = tmName.toUpperCase();
var param = {
"
terms
": {
"
tm_name
.
raw
": [lowername, upname, tmName]
}
}
params.query.bool.must.push(param)
}
var rc = System.getObject("
util
.
execClient
");
var rtn = null;
try {
rtn = await rc.execPost(params, reqUrl);
var j = JSON.parse(rtn.stdout);
return System.getResultjuhe4(j, null);
} catch (e) {
return rtn = System.getResult2(null, null);
}
}
async tmNamejuheprovinceSearch(obj) {//根据商标province进行聚合
var tmName = obj.tmName == null ? "" : obj.tmName;
if (tmName == "") {
return System.getResult2(null, null);
}
var reqUrl = this.tmSearchUrl;
var params = {
"
query
": {
"
bool
": {
"
must
": []
}
},
"
aggregations
": {
"
ncl_one_codes_count
": {
"
terms
": {
"
field
": "
apply_addr_province
",
"
size
": 52,
"
order
": {
"
_count
": "
desc
"
}
}
}
}
};
if (tmName != null && tmName != "") {
if (obj.tyc == "" && obj.py == "" && obj.xjz == "" && obj.dx == "" && obj.js == "" && obj.contain == "" && obj.bz == "") {
var param = {
"
term
": {
"
tm_name
.
raw
": tmName
}
}
params.query.bool.must.push(param);
}
}
var tiiaojianparams = {
"
bool
": {
"
should
": []
}
};
if (obj.js != "" && obj.js == "
js
" && tmName != null && tmName != "") {
var len = 0;
for (var i = 0; i < tmName.length; i++) {
var a = tmName.charAt(i);
if (a.match(/[^
\
x00-
\
xff]/ig) != null) {
len += 1;
}
}
console.log("
hanzi
---------------------------
");
console.log(len);
if (len <= 2) {
tiiaojianparams.bool.should.push({
"
bool
": {
"
must
": [
{
"
match
": {
"
tm_name_standard
": {
"
query
": tmName,
"
minimum_should_match
": "
100
%
"
}
}
},
{
"
range
": {
"
cn_count
": {
"
lte
": len + 2
}
}
}
]
}
});
tiiaojianparams.bool.should.push({
"
bool
": {
"
must
": [
{
"
query_string
": {
"
default_field
": "
tm_name
",
"
query
": "
\
""
+
tmName
.
split
(
''
).
reverse
().
join
(
''
)
+
"
\"
"
}
},
{
"range"
:
{
"cn_count"
:
{
"lte"
:
len
+
2
}
}
}
]
}
});
}
else
if
(
len
==
3
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"match"
:
{
"tm_name_standard"
:
{
"query"
:
tmName
,
"minimum_should_match"
:
"75%"
}
}
},
{
"range"
:
{
"cn_count"
:
{
"lte"
:
len
+
1
}
}
}
]
}
});
}
else
if
(
len
==
4
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"match"
:
{
"tm_name_standard"
:
{
"query"
:
tmName
,
"minimum_should_match"
:
"70%"
}
}
},
{
"range"
:
{
"cn_count"
:
{
"lte"
:
len
+
1
}
}
}
]
}
});
}
else
{
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"match"
:
{
"tm_name_standard"
:
{
"query"
:
tmName
,
"minimum_should_match"
:
"50%"
}
}
},
{
"range"
:
{
"cn_count"
:
{
"lte"
:
len
+
1
}
}
}
]
}
});
}
}
if
(
obj
.
bz
!=
""
&&
obj
.
bz
==
"bz"
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"fuzzy"
:
{
"tm_name.raw"
:
{
"value"
:
tmName
,
"fuzziness"
:
"AUTO"
}
}
});
}
if
(
obj
.
tyc
!=
""
&&
obj
.
tyc
==
"tyc"
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"terms"
:
{
"tm_name.raw"
:
obj
.
tycdata
}
});
}
if
(
obj
.
py
!=
""
&&
obj
.
py
==
"py"
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"term"
:
{
"tm_name_py"
:
obj
.
pyname
}
});
}
if
(
obj
.
xjz
!=
""
&&
obj
.
xjz
==
"xjz"
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"terms"
:
{
"tm_name.raw"
:
obj
.
xjzdata
}
});
}
if
(
obj
.
dx
!=
""
&&
obj
.
dx
==
"dx"
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"term"
:
{
"tm_name.raw"
:
tmName
.
split
(
''
).
reverse
().
join
(
''
)
}
});
}
if
(
obj
.
contain
!=
""
&&
obj
.
contain
==
"contain"
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"query_string"
:
{
"default_field"
:
"tm_name"
,
"query"
:
"
\"
"
+
tmName
+
"
\"
"
}
});
}
//英文查询
if
(
tmName
!=
null
&&
tmName
!=
""
)
{
var
re
=
new
RegExp
(
"^[a-zA-Z]+$"
);
//要包含数字的话是 new RegExp("^[a-zA-Z0-9]+$");
if
(
re
.
test
(
tmName
))
{
console
.
log
(
tmName
.
length
);
var
tmNamelength
=
tmName
.
length
;
console
.
log
(
"==============================english============================================="
);
console
.
log
((
"是全英文"
));
var
upname
=
tmName
.
toUpperCase
();
//英文转换大写
if
(
tmNamelength
<=
4
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"match"
:
{
"en_name_standard"
:
{
"query"
:
upname
}
}
},
{
"range"
:
{
"en_name_count"
:
{
"gte"
:
tmNamelength
-
2
,
"lte"
:
tmNamelength
+
1
}
}
}
]
}
});
}
else
if
(
4
<
tmNamelength
)
{
var
prethreechart
=
upname
.
slice
(
0
,
3
);
console
.
log
(
"+++++++++++++++++++++++++++++++prefix3333333333333333333333+++++++++++++++++"
);
console
.
log
(
prethreechart
);
var
postfixthreechart
=
upname
.
substring
(
tmNamelength
-
3
);
console
.
log
(
"+++++++++++++++++++++++++++++++suffix3333333333333333333333+++++++++++++++++"
);
console
.
log
(
postfixthreechart
);
var
tmblankspace
=
upname
.
split
(
""
).
join
(
" "
);
console
.
log
(
tmblankspace
);
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"match"
:
{
"en_name_standard"
:
{
"query"
:
tmblankspace
,
"minimum_should_match"
:
"80%"
}
}
},
{
"prefix"
:
{
"en_name.raw"
:
prethreechart
}
},
{
"range"
:
{
"en_name_count"
:
{
"gte"
:
tmNamelength
-
2
,
"lte"
:
tmNamelength
+
1
}
}
}
]
}
});
}
tiiaojianparams
.
bool
.
should
.
push
({
"fuzzy"
:
{
"en_name.raw"
:
{
"value"
:
upname
,
"fuzziness"
:
"AUTO"
,
"boost"
:
2
}
}
});
}
}
if
(
tmName
!=
null
&&
tmName
!=
""
)
{
//中英文混合查询
var
cnlen
=
0
;
var
enlen
=
0
;
var
en
=
""
;
var
cn
=
""
;
for
(
var
i
=
0
;
i
<
tmName
.
length
;
i
++
)
{
var
a
=
tmName
.
charAt
(
i
);
if
(
a
.
match
(
/
[^\x
00-
\x
ff
]
/ig
)
!=
null
)
{
cnlen
+=
1
;
cn
+=
a
;
}
else
{
en
+=
a
;
enlen
+=
1
;
}
}
if
(
cnlen
>
0
&&
enlen
>
0
)
{
if
(
cnlen
<=
2
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"match"
:
{
"tm_name_standard"
:
{
"query"
:
cn
,
"minimum_should_match"
:
"100%"
}
}
},
{
"range"
:
{
"cn_count"
:
{
"lte"
:
cnlen
+
2
}
}
}
]
}
});
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"query_string"
:
{
"default_field"
:
"tm_name"
,
"query"
:
"
\"
"
+
cn
.
split
(
''
).
reverse
().
join
(
''
)
+
"
\"
"
}
},
{
"range"
:
{
"cn_count"
:
{
"lte"
:
cnlen
+
2
}
}
}
]
}
});
}
else
if
(
cnlen
==
3
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"match"
:
{
"tm_name_standard"
:
{
"query"
:
cn
,
"minimum_should_match"
:
"75%"
}
}
},
{
"range"
:
{
"cn_count"
:
{
"lte"
:
cnlen
+
1
}
}
}
]
}
});
}
else
if
(
cnlen
==
4
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"match"
:
{
"tm_name_standard"
:
{
"query"
:
cn
,
"minimum_should_match"
:
"70%"
}
}
},
{
"range"
:
{
"cn_count"
:
{
"lte"
:
cnlen
+
1
}
}
}
]
}
});
}
else
{
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"match"
:
{
"tm_name_standard"
:
{
"query"
:
cn
,
"minimum_should_match"
:
"50%"
}
}
},
{
"range"
:
{
"cn_count"
:
{
"lte"
:
cnlen
+
1
}
}
}
]
}
});
}
var
upname
=
en
.
toUpperCase
();
//英文转换大写
if
(
enlen
<=
4
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"match"
:
{
"en_name_standard"
:
{
"query"
:
upname
}
}
},
{
"range"
:
{
"en_name_count"
:
{
"gte"
:
enlen
-
2
,
"lte"
:
enlen
+
1
}
}
}
]
}
});
}
else
if
(
4
<
enlen
)
{
var
prethreechart
=
upname
.
slice
(
0
,
3
);
console
.
log
(
"+++++++++++++++++++++++++++++++prefix3333333333333333333333+++++++++++++++++"
);
console
.
log
(
prethreechart
);
var
postfixthreechart
=
upname
.
substring
(
tmNamelength
-
3
);
console
.
log
(
"+++++++++++++++++++++++++++++++suffix3333333333333333333333+++++++++++++++++"
);
console
.
log
(
postfixthreechart
);
var
tmblankspace
=
upname
.
split
(
""
).
join
(
" "
);
console
.
log
(
tmblankspace
);
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"match"
:
{
"en_name_standard"
:
{
"query"
:
tmblankspace
,
"minimum_should_match"
:
"80%"
}
}
},
{
"prefix"
:
{
"en_name.raw"
:
prethreechart
}
},
{
"range"
:
{
"en_name_count"
:
{
"gte"
:
enlen
-
2
,
"lte"
:
enlen
+
1
}
}
}
]
}
});
}
tiiaojianparams
.
bool
.
should
.
push
({
"fuzzy"
:
{
"en_name.raw"
:
{
"value"
:
upname
,
"fuzziness"
:
"AUTO"
,
"boost"
:
2
}
}
});
}
}
if
(
tiiaojianparams
.
bool
.
should
.
length
>
0
)
{
params
.
query
.
bool
.
must
.
push
(
tiiaojianparams
);
}
var
rc
=
System
.
getObject
(
"util.execClient"
);
var
rtn
=
null
;
try
{
rtn
=
await
rc
.
execPost
(
params
,
reqUrl
);
var
j
=
JSON
.
parse
(
rtn
.
stdout
);
return
System
.
getResultjuhe4
(
j
,
null
);
}
catch
(
e
)
{
return
rtn
=
System
.
getResult2
(
null
,
null
);
}
}
async
tmNamejuhenclSearch
(
obj
)
{
//根据商标ncl进行聚合
var
tmName
=
obj
.
tmName
==
null
?
""
:
obj
.
tmName
;
if
(
tmName
==
""
)
{
return
System
.
getResult2
(
null
,
null
);
}
var
reqUrl
=
this
.
tmSearchUrl
;
var
params
=
{
"query"
:
{
"bool"
:
{
"must"
:
[]
}
},
"aggregations"
:
{
"ncl_one_codes_count"
:
{
"terms"
:
{
"field"
:
"ncl_one_codes"
,
"size"
:
52
,
"order"
:
{
"_count"
:
"desc"
}
}
}
}
};
if
(
tmName
!=
null
&&
tmName
!=
""
)
{
if
(
obj
.
tyc
==
""
&&
obj
.
py
==
""
&&
obj
.
xjz
==
""
&&
obj
.
dx
==
""
&&
obj
.
js
==
""
&&
obj
.
contain
==
""
&&
obj
.
bz
==
""
)
{
var
param
=
{
"term"
:
{
"tm_name.raw"
:
tmName
}
}
params
.
query
.
bool
.
must
.
push
(
param
);
}
}
var
tiiaojianparams
=
{
"bool"
:
{
"should"
:
[]
}
};
if
(
obj
.
js
!=
""
&&
obj
.
js
==
"js"
&&
tmName
!=
null
&&
tmName
!=
""
)
{
var
len
=
0
;
for
(
var
i
=
0
;
i
<
tmName
.
length
;
i
++
)
{
var
a
=
tmName
.
charAt
(
i
);
if
(
a
.
match
(
/
[^\x
00-
\x
ff
]
/ig
)
!=
null
)
{
len
+=
1
;
}
}
console
.
log
(
"hanzi---------------------------"
);
console
.
log
(
len
);
if
(
len
<=
2
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"match"
:
{
"tm_name_standard"
:
{
"query"
:
tmName
,
"minimum_should_match"
:
"100%"
}
}
},
{
"range"
:
{
"cn_count"
:
{
"lte"
:
len
+
2
}
}
}
]
}
});
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"query_string"
:
{
"default_field"
:
"tm_name"
,
"query"
:
"
\"
"
+
tmName
.
split
(
''
).
reverse
().
join
(
''
)
+
"
\"
"
}
},
{
"range"
:
{
"cn_count"
:
{
"lte"
:
len
+
2
}
}
}
]
}
});
}
else
if
(
len
==
3
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"match"
:
{
"tm_name_standard"
:
{
"query"
:
tmName
,
"minimum_should_match"
:
"75%"
}
}
},
{
"range"
:
{
"cn_count"
:
{
"lte"
:
len
+
1
}
}
}
]
}
});
}
else
if
(
len
==
4
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"match"
:
{
"tm_name_standard"
:
{
"query"
:
tmName
,
"minimum_should_match"
:
"70%"
}
}
},
{
"range"
:
{
"cn_count"
:
{
"lte"
:
len
+
1
}
}
}
]
}
});
}
else
{
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"match"
:
{
"tm_name_standard"
:
{
"query"
:
tmName
,
"minimum_should_match"
:
"50%"
}
}
},
{
"range"
:
{
"cn_count"
:
{
"lte"
:
len
+
1
}
}
}
]
}
});
}
}
if
(
obj
.
bz
!=
""
&&
obj
.
bz
==
"bz"
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"fuzzy"
:
{
"tm_name.raw"
:
{
"value"
:
tmName
,
"fuzziness"
:
"AUTO"
}
}
});
}
if
(
obj
.
tyc
!=
""
&&
obj
.
tyc
==
"tyc"
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"terms"
:
{
"tm_name.raw"
:
obj
.
tycdata
}
});
}
if
(
obj
.
py
!=
""
&&
obj
.
py
==
"py"
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"term"
:
{
"tm_name_py"
:
obj
.
pyname
}
});
}
if
(
obj
.
xjz
!=
""
&&
obj
.
xjz
==
"xjz"
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"terms"
:
{
"tm_name.raw"
:
obj
.
xjzdata
}
});
}
if
(
obj
.
dx
!=
""
&&
obj
.
dx
==
"dx"
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"term"
:
{
"tm_name.raw"
:
tmName
.
split
(
''
).
reverse
().
join
(
''
)
}
});
}
if
(
obj
.
contain
!=
""
&&
obj
.
contain
==
"contain"
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"query_string"
:
{
"default_field"
:
"tm_name"
,
"query"
:
"
\"
"
+
tmName
+
"
\"
"
}
});
}
//英文查询
if
(
tmName
!=
null
&&
tmName
!=
""
)
{
var
re
=
new
RegExp
(
"^[a-zA-Z]+$"
);
//要包含数字的话是 new RegExp("^[a-zA-Z0-9]+$");
if
(
re
.
test
(
tmName
))
{
console
.
log
(
tmName
.
length
);
var
tmNamelength
=
tmName
.
length
;
console
.
log
(
"==============================english============================================="
);
console
.
log
((
"是全英文"
));
var
upname
=
tmName
.
toUpperCase
();
//英文转换大写
if
(
tmNamelength
<=
4
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"match"
:
{
"en_name_standard"
:
{
"query"
:
upname
}
}
},
{
"range"
:
{
"en_name_count"
:
{
"gte"
:
tmNamelength
-
2
,
"lte"
:
tmNamelength
+
1
}
}
}
]
}
});
}
else
if
(
4
<
tmNamelength
)
{
var
prethreechart
=
upname
.
slice
(
0
,
3
);
console
.
log
(
"+++++++++++++++++++++++++++++++prefix3333333333333333333333+++++++++++++++++"
);
console
.
log
(
prethreechart
);
var
postfixthreechart
=
upname
.
substring
(
tmNamelength
-
3
);
console
.
log
(
"+++++++++++++++++++++++++++++++suffix3333333333333333333333+++++++++++++++++"
);
console
.
log
(
postfixthreechart
);
var
tmblankspace
=
upname
.
split
(
""
).
join
(
" "
);
console
.
log
(
tmblankspace
);
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"match"
:
{
"en_name_standard"
:
{
"query"
:
tmblankspace
,
"minimum_should_match"
:
"80%"
}
}
},
{
"prefix"
:
{
"en_name.raw"
:
prethreechart
}
},
{
"range"
:
{
"en_name_count"
:
{
"gte"
:
tmNamelength
-
2
,
"lte"
:
tmNamelength
+
1
}
}
}
]
}
});
}
tiiaojianparams
.
bool
.
should
.
push
({
"fuzzy"
:
{
"en_name.raw"
:
{
"value"
:
upname
,
"fuzziness"
:
"AUTO"
,
"boost"
:
2
}
}
});
}
}
if
(
tmName
!=
null
&&
tmName
!=
""
)
{
//中英文混合查询
var
cnlen
=
0
;
var
enlen
=
0
;
var
en
=
""
;
var
cn
=
""
;
for
(
var
i
=
0
;
i
<
tmName
.
length
;
i
++
)
{
var
a
=
tmName
.
charAt
(
i
);
if
(
a
.
match
(
/
[^\x
00-
\x
ff
]
/ig
)
!=
null
)
{
cnlen
+=
1
;
cn
+=
a
;
}
else
{
en
+=
a
;
enlen
+=
1
;
}
}
if
(
cnlen
>
0
&&
enlen
>
0
)
{
if
(
cnlen
<=
2
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"match"
:
{
"tm_name_standard"
:
{
"query"
:
cn
,
"minimum_should_match"
:
"100%"
}
}
},
{
"range"
:
{
"cn_count"
:
{
"lte"
:
cnlen
+
2
}
}
}
]
}
});
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"query_string"
:
{
"default_field"
:
"tm_name"
,
"query"
:
"
\"
"
+
cn
.
split
(
''
).
reverse
().
join
(
''
)
+
"
\"
"
}
},
{
"range"
:
{
"cn_count"
:
{
"lte"
:
cnlen
+
2
}
}
}
]
}
});
}
else
if
(
cnlen
==
3
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"match"
:
{
"tm_name_standard"
:
{
"query"
:
cn
,
"minimum_should_match"
:
"75%"
}
}
},
{
"range"
:
{
"cn_count"
:
{
"lte"
:
cnlen
+
1
}
}
}
]
}
});
}
else
if
(
cnlen
==
4
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"match"
:
{
"tm_name_standard"
:
{
"query"
:
cn
,
"minimum_should_match"
:
"70%"
}
}
},
{
"range"
:
{
"cn_count"
:
{
"lte"
:
cnlen
+
1
}
}
}
]
}
});
}
else
{
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"match"
:
{
"tm_name_standard"
:
{
"query"
:
cn
,
"minimum_should_match"
:
"50%"
}
}
},
{
"range"
:
{
"cn_count"
:
{
"lte"
:
cnlen
+
1
}
}
}
]
}
});
}
var
upname
=
en
.
toUpperCase
();
//英文转换大写
if
(
enlen
<=
4
)
{
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"match"
:
{
"en_name_standard"
:
{
"query"
:
upname
}
}
},
{
"range"
:
{
"en_name_count"
:
{
"gte"
:
enlen
-
2
,
"lte"
:
enlen
+
1
}
}
}
]
}
});
}
else
if
(
4
<
enlen
)
{
var
prethreechart
=
upname
.
slice
(
0
,
3
);
console
.
log
(
"+++++++++++++++++++++++++++++++prefix3333333333333333333333+++++++++++++++++"
);
console
.
log
(
prethreechart
);
var
postfixthreechart
=
upname
.
substring
(
tmNamelength
-
3
);
console
.
log
(
"+++++++++++++++++++++++++++++++suffix3333333333333333333333+++++++++++++++++"
);
console
.
log
(
postfixthreechart
);
var
tmblankspace
=
upname
.
split
(
""
).
join
(
" "
);
console
.
log
(
tmblankspace
);
tiiaojianparams
.
bool
.
should
.
push
({
"bool"
:
{
"must"
:
[
{
"match"
:
{
"en_name_standard"
:
{
"query"
:
tmblankspace
,
"minimum_should_match"
:
"80%"
}
}
},
{
"prefix"
:
{
"en_name.raw"
:
prethreechart
}
},
{
"range"
:
{
"en_name_count"
:
{
"gte"
:
enlen
-
2
,
"lte"
:
enlen
+
1
}
}
}
]
}
});
}
tiiaojianparams
.
bool
.
should
.
push
({
"fuzzy"
:
{
"en_name.raw"
:
{
"value"
:
upname
,
"fuzziness"
:
"AUTO"
,
"boost"
:
2
}
}
});
}
}
if
(
tiiaojianparams
.
bool
.
should
.
length
>
0
)
{
params
.
query
.
bool
.
must
.
push
(
tiiaojianparams
);
}
var
rc
=
System
.
getObject
(
"util.execClient"
);
var
rtn
=
null
;
try
{
rtn
=
await
rc
.
execPost
(
params
,
reqUrl
);
var
j
=
JSON
.
parse
(
rtn
.
stdout
);
return
System
.
getResultjuhe4
(
j
,
null
);
}
catch
(
e
)
{
return
rtn
=
System
.
getResult2
(
null
,
null
);
}
}
}
}
module
.
exports
=
ByTmSearchApi
;
module
.
exports
=
ByTmSearchApi
;
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