超级复杂的 es bool 查询

    def _build_post_data(self, keywords: List[str] = None):

        query = {
            "sort": [
                {
                    "publish_time_str": {
                        "order": "desc"
                    }
                },
                {
                    "read_count": {
                        "order": "desc"
                    }
                }
            ],
            "size": 10
        }

        if keywords:
            query["query"] = {
                "bool": {
                    "must": [
                        {
                            "range": {
                                "publish_time_str": {"from": "2020-08-01 00:00:00",
                                                     "to": "2020-08-06 23:00:00"}
                            }
                        },

                        {
                            "bool": {
                                "should": [

                                ]
                            }
                        }
                    ]
                }
            }

            should = query["query"]["bool"]["must"][1]["bool"]["should"]

            for keyword in keywords:
                match = {"match_phrase": {
                    "title": keyword
                }}
                should.append(match)

        return json.dumps(query)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容