Как переделать WHERE часть SQL запроса на фильтр для ElasticSearch?

Помогите превратить нижеследующее условие sql запроса в bool filter ElasticSearch:

WHERE (
option = "weight" AND value = "50kg"
)
OR (
option = "weight" AND value = "500kg"
)
AND (
option = "magic" AND value = "no"
)

Я написал AND фильтры для внутренних условий между option и value. Теперь мне нужно поместить эти AND фильтры внутрь других фильтров. Как это сделать?

Я пробовал использовать BoolFilter (библиотека Elastica.io, язык - php)

$boolFilter = new \Elastica\Filter\Bool();
$boolFilter->addShould($innerFilterAnd1);
$boolFilter->addShould($innerFilterAnd2);
$boolFilter->addMust($innerFilterAnd3);

возвращает пустой набор данных.

Пожалуйста, помогите!
  • Вопрос задан
  • 2566 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы