duanfanta6741 2017-11-02 11:51
浏览 56
已采纳

弹性搜索AND / BOOL条件+ PHP

I want to pass AND condtion in elastic search query. if 'manuf_id' and 'network_id' is > 0 but this is not working properly.

 "query" => [
               "bool" => [
                  "must" => [
                     [
                          "multi_match" => [
                              "fields" => ["prod_name", "prod_seo_name"],
                              "type" => "phrase_prefix",
                              "query" => $query
                          ]
                     ],

                  ]
               ]
            ]

if ($manufacture > 0 && $network > 0) {
            $params['body']['query']['bool']['must'][] = [
            'term' => ['manuf_id' => $manufacture],
            'term' => ['network_id' => $network],
            ];
        }

Any help or reference would be great.

  • 写回答

1条回答 默认 最新

  • douyou7878 2017-11-02 11:53
    关注

    You need to add each term constraint separately:

    if ($manufacture > 0 && $network > 0) {
        $params['body']['query']['bool']['must'][] = [
            'term' => ['manuf_id' => $manufacture]
        ];
        $params['body']['query']['bool']['must'][] = [
            'term' => ['network_id' => $network]
        ];
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。