为了账号安全,请及时绑定邮箱和手机立即绑定

Elasticsearch 多个术语/过滤器

Elasticsearch 多个术语/过滤器

PHP
繁华开满天机 2021-10-15 14:52:59
我正在尝试根据多个术语进行过滤。如果我指定一个术语,我可以过滤[  "bool" => [    "must" => [      0 => [        "term" => [          "interests" => [            "value" => "art"          ]        ]      ]    ]  ]]但是当我使用多个术语时,我总是得到一个空的回应。[  "bool" => [    "must" => [      0 => [        "term" => [          "interests" => [            "value" => "art"          ]        ]      ]      1 => [        "term" => [          "community_privacy" => [            "value" => "private"          ]        ]      ]    ]  ]]我是否误解了我应该如何使用多个术语?
查看完整描述

1 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

php 语法对我来说是新的,但是在数组中的 JSON 中,您需要将每个 term(s) 子句包装在它自己的bool和must/ filter/ etc 中。所以在 JSON 中它会是这样的:


{"query":{

    "bool":{

        "must":[

            {"bool":{

                "must":{

                    "term":{

                        "interests" : "art"

                    }

                }

            }

            },

            {"bool":{

                "must":{

                    "term":{

                        "community_privacy": "private"

                    }

                }

            }

            }

        ]

    }

}

}


查看完整回答
反对 回复 2021-10-15
  • 1 回答
  • 0 关注
  • 109 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信