省市区分块排序要怎么查?展示结果是:本省本市的、本省外市的、全国的,而且都是按照倒序排,本省本市的排前面,这个要怎么弄???
Elasticsearch | 作者 herryhaixiao | 发布于2016年10月11日 | 阅读数:5666
各位大牛:帮我看看这种分块查询要怎么写?
满足要求的排前面,并且是按照时间倒序;
provinceName省份,cityName城市,updatedTime时间。就是这个时间排序分块排,不知道怎么弄。
本市项目发布需求(如果有多条,按发布时间倒序)>本省项目发布需求(剔除本市数据,如果有多条,按发布时间倒序)>全国项目发布需求(剔除本市、本省数据,如果有多条,按发布时间倒序)
满足要求的排前面,并且是按照时间倒序;
provinceName省份,cityName城市,updatedTime时间。就是这个时间排序分块排,不知道怎么弄。
本市项目发布需求(如果有多条,按发布时间倒序)>本省项目发布需求(剔除本市数据,如果有多条,按发布时间倒序)>全国项目发布需求(剔除本市、本省数据,如果有多条,按发布时间倒序)
2 个回复
martindu - 搜披露创始人
赞同来自: qq123
这种方法的准确程度取决于参数的设置,而且有时候打不到100%精确。
另一种方法,你也写了三种情况实际上是互斥的,所以可以分为三次请求查询。每个请求把自己的部分负责好就可以。前端再组合就是了。
martindu - 搜披露创始人
赞同来自:
先是生成测试数据的代码,找了12个城市随机日期和项目名称搞了144个数据:
然后是构建查询,以“测试项目”为关键字,并预设本市为沈阳市、本省为辽宁省。注意city的权重给了10,province给了5。Gauss的时间段是3600天。
查询请求的httpRequest:
查询结果就是首先是4个辽宁沈阳测试项目,然后是其他辽宁省的测试项目,然后是其他省的项目。
希望能帮到你哈。