curl -XGET 'http://localhost:9200/alias-*/*/_search?pretty' -d '{
"size" : 0,
"query" : {
"function_score" : {
"query" : {
"filtered" : {
"filter" : {
"bool" : {
"should" : [ {
"match" : {
"_all" : {
"query" : "电子",
"type" : "boolean",
"operator" : "AND"
}
}
}, {
"match" : {
"company_name" : {
"query" : "电子",
"type" : "boolean",
"operator" : "AND"
}
}
}, {
"match" : {
"title" : {
"query" : "电子",
"type" : "boolean",
"operator" : "AND"
}
}
} ],
"minimum_should_match" : "1"
}
}
}
},
"functions" : [ {
"filter" : {
"match" : {
"_all" : {
"query" : "电子",
"type" : "boolean",
"operator" : "AND"
}
}
},
"weight" : 2.0
}, {
"filter" : {
"match" : {
"company_name" : {
"query" : "电子",
"type" : "boolean",
"operator" : "AND"
}
}
},
"weight" : 8.0
}, {
"filter" : {
"match" : {
"title" : {
"query" : "电子",
"type" : "boolean",
"operator" : "AND"
}
}
},
"weight" : 4.0
}, {
"filter" : {
"range" : {
"seling_auction_cnt" : {
"from" : 0,
"to" : null,
"include_lower" : false,
"include_upper" : true
}
}
},
"weight" : 1.0
}, {
"field_value_factor" : {
"field" : "company_score",
"factor" : 1.0E-6
}
} ],
"score_mode" : "sum"
}
},
"aggs" : {
"agg" : {
"terms" : {
"field" : "member_id",
"size" : 0,
"order" : {
"top_hit" : "desc"
}
},
"aggregations" : {
"top_hit" : {
"max" : {
"script" : {
"inline" : "_score"
}
}
}
}
},
"agg1" : {
"scripted_metric": {
"init_script": "_agg[\"prd\"] = []",
"map_script": "if(doc[\"cat2_id\"].value) {_agg.prd.add(doc[\"cat2_id\"].value.toString())}",
"combine_script": "combined = [:]; for (tmp in _agg.prd) { if(!combined[tmp]) { combined[tmp] = 1 } }; return combined",
"reduce_script": "reduced = []; for (a in _aggs) { for (entry in a) { reduced.add(entry.key); } }; return reduced"
}
},
"agg2" : {
"scripted_metric": {
"init_script": "_agg[\"prd\"] = []",
"map_script": "if(doc[\"cat2_id\"].value) {_agg.prd.add(doc[\"cat2_id\"].value.toString())}",
"combine_script": "combined = [:]; for (tmp in _agg.prd) { if(!combined[tmp]) { combined[tmp] = 1 } }; return combined",
"reduce_script": "reduced = [:]; for (a in _aggs) { for (entry in a) { word = entry.key; if (!reduced[word] ) { reduced[word] = entry.value; } } }; return reduced"
}
}
}
}'
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。