elasticsearch在python中的多条件查询--并去重--标注一些-基本够用

musts.append({'match': {'desc': data.get('desc')}})-----desc是你的字段---data.get('desc')是你传过来的条件

musts.append({'match': {'hotWord': data.get('hotWord')}}) ---同上

to_date['lte'] = int(date_lte)---可以是整形---也可以是时间--具体在mapping中设置

to_date['gte'] = int(un_time)-----同上

上面是单个格式

query_json = {
            "sort": sorts,   # 排序
             'query': {
                    'bool': {
                              'must': musts,  # 多个条件---有多个在上面append就可以了--
                              'filter': {
                                           'range': {
                                                   'aweme_create_time': to_date   # 区间--可以一段
                                             },
                               },
                     },
            },
            "size": size,   # 第几页
            "from": fro     # 从几条开始
        }

query_json['collapse'] = {"field":  "uid"}   # 去重-----uid是你要去重的字段---其他不变---这个uid必须要在mapping总设置

不可以是text  我设置的是keyword

上面的在一般项目中就够用了, 不够用的话,可以一起探讨-探讨-一起进步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值