elasticsearch index template - yaokun123/php-wiki GitHub Wiki
- 1、设置模版
GET _scripts/company_cha_tmp
{
"script":{
"lang":"mustache",
"source":
"""
{
"from":{{from}}{{^from}}0{{/from}},
"size":{{size}}{{^size}}10{{/size}},
"track_total_hits":true,
{{#sortfield}}
"sort":[{
"{{sortfield}}":{
"order":"{{sortmode}}{{^sortmode}}desc{{/sortmode}}",
"missing":"_last"
}
}]
,
{{/sortfield}}
"query":{
"bool":{
"must":{
"function_score":{
{{#query_string}}
"query":{
"multi_match":{
"query":"{{query_string}}",
"fields":{{#toJson}}searchFields{{/toJson}}{{^searchFields}}["companyName^10","companyNameStr^25","historyName^10","companyDesc^4","businessScope","employeeName","legalPerson^4","product^5","trademark^2","companyAddress","partnerStockName","creditNo^25"]{{/searchFields}},
"minimum_should_match":"4<80% 5<90% 10<95%",
"tie_breaker":0.1
}
},
{{/query_string}}
{{^query_string}}
"query":{
"match_all":{}
},
{{/query_string}}
"score_mode":"sum",
"boost_mode":"sum",
"functions":[{
"field_value_factor":{
"field":"capitalNumber",
"missing":0,
"modifier":"log1p",
"factor":0.1
},
"weight":20
},{
"field_value_factor":{
"field":"companyStatus",
"missing":0,
"factor":50
}
},{
"field_value_factor":{
"field":"companyType",
"missing":0,
"factor":50
}
}]
}
},
{{#query_string}}
"should":[{
"match_phrase":{
"historyName":{
"query":"{{query_string}}",
"slop":1
}
}},
{
"match_phrase":{
"companyName":{
"query":"{{query_string}}",
"slop":1
}
}},
{"match_phrase":{
"partnerStockName":{
"query":"{{query_string}}",
"slop":1,
"boost":1
}
}
}],
{{/query_string}}
"filter":{
"bool":{
"must":[
{
"range":{
"companyType":{
"gte":0
}
}
}
{{#capitalMin}}
,
{
"range":{
"capitalNumber":{
"gte":{{capitalMin}}
}
}
}
{{/capitalMin}}
{{#capitalMax}}
,
{
"range":{
"capitalNumber":{
"lt":{{capitalMax}}
}
}
}
{{/capitalMax}}
{{#establishDateMin}}
,
{
"range":{
"establishDate":{
"gte":{{establishDateMin}}
}
}
}
{{/establishDateMin}}
{{#establishDateMax}}
,
{
"range":{
"establishDate":{
"lt":{{establishDateMax}}
}
}
}
{{/establishDateMax}}
{{#province}}
,
{
"term":{
"province":"{{province}}"
}
}
{{/province}}
{{#prefectureCity}}
,
{
"term":{
"prefectureCity":"{{prefectureCity}}"
}
}
{{/prefectureCity}}
{{#companyStatusStr}}
,
{
"term":{
"companyStatusStr":"{{companyStatusStr}}"
}
}
{{/companyStatusStr}}
{{#companyTypeStr}}
,
{
"term":{
"companyTypeStr":"{{companyTypeStr}}"
}
}
{{/companyTypeStr}}
{{#cid}}
,
{
"term":{
"cid":{{cid}}
}
}
{{/cid}}
{{#cid1}}
,
{
"term":{
"cid1":{{cid1}}
}
}
{{/cid1}}
{{#cid2}}
,
{
"term":{
"cid2":{{cid2}}
}
}
{{/cid2}}
{{#industryL1Name}}
,
{
"term":{
"industryL1Name":"{{industryL1Name}}"
}
}
{{/industryL1Name}}
{{#industryL2Name}}
,
{
"term":{
"industryL2Name":"{{industryL2Name}}"
}
}
{{/industryL2Name}}
{{#industryL3Name}}
,
{
"term":{
"industryL3Name":"{{industryL3Name}}"
}
}
{{/industryL3Name}}
{{#useHasContact}}
,
{
"term":{
"hasContact":{{hasContact}}
}
}
{{/useHasContact}}
{{#useHasEmail}}
,
{
"term":{
"hasEmail":{{hasEmail}}
}
}
{{/useHasEmail}}
{{#useHasWebsites}}
,
{
"term":{
"hasWebsites":{{hasWebsites}}
}
}
{{/useHasWebsites}}
{{#useHasTrademark}}
,
{
"term":{
"hasTrademark":{{hasTrademark}}
}
}
{{/useHasTrademark}}
{{#useHasEntPatentInfo}}
,
{
"term":{
"hasEntPatentInfo":{{hasEntPatentInfo}}
}
}
{{/useHasEntPatentInfo}}
{{#useHasExecutedPerson}}
,
{
"term":{
"hasExecutedPerson":{{hasExecutedPerson}}
}
}
{{/useHasExecutedPerson}}
{{#useHasCopyrightWorks}}
,
{
"term":{
"hasCopyrightWorks":{{hasCopyrightWorks}}
}
}
{{/useHasCopyrightWorks}}
{{#useHasCopyrightReg}}
,
{
"term":{
"hasCopyrightReg":{{hasCopyrightReg}}
}
}
{{/useHasCopyrightReg}}
{{#useHasInsuranceAmount}}
,
{
"term":{
"hasInsuranceAmount":{{hasInsuranceAmount}}
}
}
{{/useHasInsuranceAmount}}
{{#useHasCompanyBid}}
,
{
"term":{
"hasCompanyBid":{{hasCompanyBid}}
}
}
{{/useHasCompanyBid}}
{{#useHasCompanyCustomsBusinessCredit}}
,
{
"term":{
"hasCompanyCustomsBusinessCredit":{{hasCompanyCustomsBusinessCredit}}
}
}
{{/useHasCompanyCustomsBusinessCredit}}
{{#useHasChattels}}
,
{
"term":{
"hasChattels":{{hasChattels}}
}
}
{{/useHasChattels}}
{{#useHasClears}}
,
{
"term":{
"hasClears":{{hasClears}}
}
}
{{/useHasClears}}
{{#useHasTax}}
,
{
"term":{
"hasTax":{{hasTax}}
}
}
{{/useHasTax}}
{{#limitMaxDate}}
,
{
"range":{
"lastChangeDate":{
"lt":{{limitMaxDate}}
}
}
},
{
"term":{
"companyStatus":1
}
}
{{/limitMaxDate}}
]
}
}
}
},
"highlight":{
"fields":{
"companyName":{},
"historyName":{},
"companyDesc":{},
"businessScope":{},
"employeeName":{},
"legalPerson":{},
"partnerStockName":{},
"product":{},
"trademark":{},
"companyAddress":{},
"creditNo":{}
},
"fragment_size":20
}
}
"""
}
}
- 2、获取模版
GET _scripts/company_cha
- 3、根据模版查询
GET company_new_index/_search/template
{
"id":"company_cha_tmp",
"params": {
"query_string":"凭安征信",
"industryL3Name":"咨询与调查"
}
}