I wrote this query in SQL and now I needed it in the elastic search. How can I do that?
x
select * from listings where condition1 = true or (condition2 = 1 and condition3 = false)
Advertisement
Answer
Here you go:
POST listings/_search
{
"query": {
"bool": {
"should": [
{
"term": {
"condition1": {
"value": "true"
}
}
},
{
"bool": {
"must": [
{
"term": {
"condition2": {
"value": "1"
}
}
},
{
"term": {
"condition3": {
"value": "false"
}
}
}
]
}
}
]
}
}
}
You need to use should
clause for or
and must
clause for and
.
You need to use term
or match
query based on your requirement.