douweng1935 2018-10-10 13:17
浏览 65
已采纳

搜索两个过滤器与Elasticsearch匹配的位置

I am doing a search with elasticSearch but I would like to filter it and the search must match both filters.

this is the code:

"query" => [
                            "bool" => [
                                "must" => [
                                    'multi_match'=> [
                                        'query'=> $this->input->get('search'),
                                        'fields'=> ["title^2", "description"]
                                    ]
                                ],
                                "filter" => [
                                    "terms" => [ 
                                        "Categories" => ['Featured Works']
                                    ],
                                    "terms" => [
                                        "Tags" => ['Merida']
                                    ]
                                ]
                            ]
                        ]

Bring the search results but take the filter as an OR and I would like an AND

  • 写回答

1条回答 默认 最新

  • dongxiong2000 2018-10-10 13:21
    关注

    The problem lies in how you define your terms filter in a PHP associative array. Since both have the same keys, only one will end up in your query. Do it like this instead:

                                "filter" => [
                                   [
                                     "terms" => [ 
                                        "Categories" => ['Featured Works']
                                     ]
                                   ],
                                   [
                                     "terms" => [
                                        "Tags" => ['Merida']
                                     ]
                                   ]
                                ]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵