因为业务需求,需要对某个字段进行排序展示,所以自己就用了以下方法
body = { "query": { "bool": { "must": [ { "term": { "group": group_name } } ] } }, "from": (page_num - 1) * 30, # 从什么位置开始 "size": 30, # 返回条数 "collapse": { "field": filed_name }, "sort": [{"需要排序的字段": {'order': "升序asc降序asc"}}] }
但是这种会出现一个问题,就是如果你排序的字段内容是字符串的话,将混乱,不起作用,所以我做了一下处理
"pv": { "type": "integer", # 搜索指数排序 "index": "true" # 不建索引 }, "pvCrc": { "type": "float", # 搜索涨幅排序 "index": "true" # 不建索引 }
就是你在创建索引的时候需要将这个字段的type根据情型定义成以上两种形式