here's my try to solve it:
{
"filtered":{
"filter":{
"nested":{
"path":"productsOptionValues",
"filter":{
"and":[
{
"or":[
{
"and":[
{
"term":{
"productsOptionValues.productOption":
"weight"
}
},
{
"term":{
"productsOptionValues.value":"500 kg"
}
}
]
},
{
"and":[
{
"term":{
"productsOptionValues.productOption":
"weight"
}
},
{
"term":{
"productsOptionValues.value":"50kg"
}
}
]
}
]
},
{
"or":[
{
"and":[
{
"term":{
"productsOptionValues.productOption":
"magic"
}
},
{
"term":{
"productsOptionValues.value":"no"
}
}
]
}
]
}
]
}
}
}
}
}
but it's an equivalent of:
WHERE ((option = "weight" AND value = "50kg")OR (option = "weight" AND value =
"500kg"))AND (option = "magic" AND value = "no")
it's wrong tree... I need the and\or logic to be at one branch of the json
tree. I don't know if it possible. Please help to translate the logic from the
query where condition!
четверг, 10 июля 2014 г., 12:23:05 UTC+3 пользователь David Pilato написал:
>
> It could help if you could gist a full SENSE/curl script recreation
>
> Best
>
> --
> David ;-)
> Twitter : @dadoonet / @elasticsearchfr / @scrutmydocs
>
> Le 10 juil. 2014 à 11:15, Artem Frolov <[email protected] <javascript:>> a
> écrit :
>
> I have a WHERE clause in my SQL query, which have to be translated into
> the elasticsearch bool filter.
>
> here's the where clause:
>
> WHERE (option = "weight" AND value = "50kg")OR (option = "weight" AND value =
> "500kg")AND (option = "magic" AND value = "no")
>
> I have written the AND filters for inner ANDs of query, but now I need to
> put them to the bool filter.
>
> Tried to:
>
> $boolFilter = new
> \Elastica\Filter\Bool();$boolFilter->addShould($innerFilterAnd1);$boolFilter->addShould($innerFilterAnd2);$boolFilter->addMust($innerFilterAnd3);
>
> returns nothing.
>
> Please, help!
>
> --
> You received this message because you are subscribed to the Google Groups
> "elasticsearch" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected] <javascript:>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elasticsearch/5291b465-50d1-42da-a8a0-45ee154c1838%40googlegroups.com
>
> <https://groups.google.com/d/msgid/elasticsearch/5291b465-50d1-42da-a8a0-45ee154c1838%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
>
--
You received this message because you are subscribed to the Google Groups
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/41f906b1-ed46-4f37-b3f3-d932202f88ef%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.