我在我的项目中使用Elasticsearch。 我的Elasticsearch查询是这样的:
Array(
[index] => galaxy
[type] => galaxy
[size] => 1000
[from] => 0
[body] => Array(
[query] => Array(
[filtered] => Array(
[query] => Array(
[query_string] => Array(
[default_operator] => AND
[query] => vestel*
)
)
[filter] => Array(
[bool] => Array(
[must] => Array(
[term] => Array(
[fk_product_category] => 1
[fk_product_group] => 1
)
)
)
)
)
)
)
)
当我删除其中一个过滤器术语例如fk_product_group
时,它可以正常工作但是当使用这两个过滤器时,我会因代码400错误请求而出现致命错误。
答案 0 :(得分:0)
每个过滤器必须位于自己的term
过滤器
Array(
[index] => galaxy
[type] => galaxy
[size] => 1000
[from] => 0
[body] => Array(
[query] => Array(
[filtered] => Array(
[query] => Array(
[query_string] => Array(
[default_operator] => AND
[query] => vestel*
)
)
[filter] => Array(
[bool] => Array(
[must] => Array(
Array(
[term] => Array(
[fk_product_category] => 1
)
),
Array(
[term] => Array(
[fk_product_group] => 1
)
)
)
)
)
)
)
)
)