Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Elasticsearch多个术语/过滤器_Php_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Php,elasticsearch" /> elasticsearch,Php,elasticsearch" />

Php Elasticsearch多个术语/过滤器

Php Elasticsearch多个术语/过滤器,php,elasticsearch,Php,elasticsearch,我正在尝试基于多个术语进行筛选。如果我指定一个术语,我可以进行筛选 [ "bool" => [ "must" => [ 0 => [ "term" => [ "interests" => [ "value" => "art" ] ] ] ] ] ] 但是当我使用多个术语时,我总是得到一个空的回答 [ "bool"

我正在尝试基于多个术语进行筛选。如果我指定一个术语,我可以进行筛选

[
  "bool" => [
    "must" => [
      0 => [
        "term" => [
          "interests" => [
            "value" => "art"
          ]
        ]
      ]
    ]
  ]
]
但是当我使用多个术语时,我总是得到一个空的回答

[
  "bool" => [
    "must" => [
      0 => [
        "term" => [
          "interests" => [
            "value" => "art"
          ]
        ]
      ]
      1 => [
        "term" => [
          "community_privacy" => [
            "value" => "private"
          ]
        ]
      ]
    ]
  ]
]

我是否误解了应该如何使用多个术语?

php语法对我来说是新的,但在数组中的JSON中,您需要将每个术语子句包装在其自己的
bool
中,并且
必须
/
过滤器
/等等。因此,在JSON中是这样的:

{"query":{
    "bool":{
        "must":[
            {"bool":{
                "must":{
                    "term":{
                        "interests" : "art"
                    }
                }
            }
            },
            {"bool":{
                "must":{
                    "term":{
                        "community_privacy": "private"
                    }
                }
            }
            }
        ]
    }
}
}