惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
小众软件
小众软件
WordPress大学
WordPress大学
Microsoft Azure Blog
Microsoft Azure Blog
Recent Announcements
Recent Announcements
博客园 - 三生石上(FineUI控件)
博客园_首页
N
Netflix TechBlog - Medium
IT之家
IT之家
H
Help Net Security
博客园 - 聂微东
Google DeepMind News
Google DeepMind News
罗磊的独立博客
T
Tailwind CSS Blog
F
Fortinet All Blogs
Hugging Face - Blog
Hugging Face - Blog
MongoDB | Blog
MongoDB | Blog
V
V2EX
量子位
云风的 BLOG
云风的 BLOG
爱范儿
爱范儿
博客园 - 司徒正美
The Cloudflare Blog
Engineering at Meta
Engineering at Meta

博客园 - 赵瑛

如何把一个js的代码变成一个.min.js的文件 thinkphp8有一个木马文件链接 thinkphp 可以居中的分页css样式 thinkphp8无法显示验证码的原因之一 php将内容转为word vue点击复制 vue简单分页 vue无限加载 mpdf增加字体并进行使用 jquery导出word css清除浮动最好的方法 Elasticsearch同时实现and与or查询 Elasticsearch查询指定字段是否有重复数据 查询并删除Elasticsearch库中指定字段重复的数据 elasticsearch中的and和or php FTP操作类( 拷贝、移动、删除文件/创建目录 ) mysql重置自增id js 双指放大、拖动图片 php操作elasticsearch数据库的方法
elasticsearch进行and,or多条件组合查询
赵瑛 · 2023-02-22 · via 博客园 - 赵瑛

其中的条件类似于mysql的where cate_id=$cate_id and (title=$keyword or content=$keyword)

        $keyword = '常德学院';
        $cate_id = 148;
        $url = 'http://127.0.0.1/aaaaaaa/_search';
        if($ent_id){
            $data['query']['bool']['filter'][0]['bool']['must']['match_phrase']['cate_id'] = $cate_id;
        }
        $data['query']['bool']['filter'][1]['bool']['should'][0]['match_phrase']['title'] = $keyword;
        $data['query']['bool']['filter'][1]['bool']['should'][1]['match_phrase']['content'] = $keyword;
        $data['from'] = 0;
        $data['size'] = 10;
        $data['sort'] = [];
        //下面是搜索关键词高亮设置
        $a = json_decode('{}');
        $data['highlight']['fields'][0]['hw_doc_title'] = $a;
        $data['highlight']['fields'][1]['hw_doc_body'] = $a;
        $data['highlight']['pre_tags'] = '<font color="red">';
        $data['highlight']['post_tags'] = '</font>';
        $data['highlight']['fragment_size'] = 20;
        $post_data = json_encode($data,JSON_UNESCAPED_UNICODE);
        $relust = curl_post($url,$post_data);
        print_r($relust);
function curl_post($url,$data)
{
    $curl = curl_init();
    curl_setopt($curl,CURLOPT_URL,$url);
    curl_setopt($curl, CURLOPT_HTTPHEADER,array(
        'Content-Type: application/json; charset=utf-8',
        'Cache-Control: no-cache',
        'Pragma: no-cache'
    ));
    curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($curl,CURLOPT_POST,true);
    curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
    $result = curl_exec($curl);
    curl_close($curl);
    $datalist = json_decode($result,true);
    return $datalist;
}