elasticsearch,elastica,Sql,elasticsearch,Elastica" /> elasticsearch,elastica,Sql,elasticsearch,Elastica" />

如何翻译;及或;从sql查询到elasticsearch筛选器的where子句

如何翻译;及或;从sql查询到elasticsearch筛选器的where子句,sql,elasticsearch,elastica,Sql,elasticsearch,Elastica,我的SQL查询中有一个WHERE子句,必须将其转换为elasticsearch布尔过滤器 以下是where条款: WHERE ( option = "weight" AND value = "50kg" ) OR ( option = "weight" AND value = "500kg" ) AND ( option = "magic" AND value = "no" ) 我已经为查询的内部AND编写了AND过滤器,但是现在我需要将它们放到bool过滤器中 试图: $boolFilter

我的SQL查询中有一个WHERE子句,必须将其转换为elasticsearch布尔过滤器

以下是where条款:

WHERE (
option = "weight" AND value = "50kg"
)
OR (
option = "weight" AND value = "500kg"
)
AND (
option = "magic" AND value = "no"
)
我已经为查询的内部AND编写了AND过滤器,但是现在我需要将它们放到bool过滤器中

试图:

$boolFilter = new \Elastica\Filter\Bool();
$boolFilter->addShould($innerFilterAnd1);
$boolFilter->addShould($innerFilterAnd2);
$boolFilter->addMust($innerFilterAnd3);
不返回任何内容

求求你,救命

谢谢“大家”,但我自己想出了解决办法。 您可以使用以下GIST测试案例:

我的搜索查询的要点:

所以。如果要按嵌套对象进行筛选,则必须将其指定为“类型:对象”,而不是“类型:嵌套”

这是因为:

(嵌套类型存储为数组,对象类型存储为对象)